2014-02-14 2 views
1

У меня есть изображения и титры, и я бы хотел, чтобы титры были не шире изображений. This jsfiddle показан рабочий пример.div {display: table;} не растягивает div, чтобы соответствовать изображению

Основная хитрость здесь

div.img{ 
overflow:hidden; 
width:1px; 
display:table; 
} 

Кажется, что display:table; вызывает DIV, чтобы растянуть до ширины изображения, даже если ширина была определена как 1px. Я использую это, потому что ширина изображения изменяется и может растягиваться в зависимости от ширины видового экрана.

Пока все хорошо. Однако на локальной странице трюк не работает. div действительно отображается как 1px в ширину. Как ни странно, a (казалось бы) сопоставимый divделает показывает правильное поведение. Я не уверен, как продемонстрировать страницу проблемы, потому что это локальная страница с довольно html/css и изображениями ... Я буду более чем рад придумать скриншоты или (тонну) css, если это возможно помогите отладки.

Я не вижу разницы между функционированием и не функционирующим div s в консоли Firefox. Кто-нибудь знает, на что смотреть?

enter image description here

+0

P.S. совершенно другой подход к ширине заголовка изображения был бы очень желанным, если надпись может быть полностью исключена, не нарушая ничего. – RubenGeert

+0

попробуйте использовать 'max-width' вместо этого. –

+0

Нашел проблему: изображение просто не было загружено. Крошечный «образ», отображаемый браузером, является границей изображения, которая все еще присутствует с отсутствием самого изображения. Не пришло в голову, что это может быть виновником, но в любом случае: проблема решена :-) – RubenGeert

ответ

1

Существует решение с помощью CSS3:

div.img { 
    width: -moz-min-content; 
    width: -webkit-min-content; 
    width: min-content; 
} 

Fiddle

related link

+0

Спасибо за предложение. Но на моей тестовой странице поведение стало еще более странным. Я добавлю снимок экрана в мой OP. – RubenGeert

+0

Ширина 'div' теперь отображается как' 480px' и ширина изображения как '80px' (что верно, см. Снимок экрана в OP). Однако изображение отображается как часть '2px'. – RubenGeert

+0

@RubenGeert не совсем понятен, но вы даете ширину 'div.img' через этот стиль' div.man> div {width: 30em;} ', вот как выглядит« 480px ». Я думаю. если вы удалите этот стиль, тогда он должен работать нормально, я полагаю. –

Смежные вопросы