Подогнать ширину текста под ширину картинки при помощи CSS

_vb_
На сайте с 25.07.2009
Offline
104
8016

Приветствую сообщество.

Задача: есть картинка неизвестной ширины. Под ней располагается текстовый блок, который должен быть такой же ширины, как и картинка.

Проблема легко решается, если задать жесткий размер охватывающего DIV по ширине в пикселях. Но дело в том, что не известен размер картинки, которая будет загружена.

Можно ли сделать это без применения JS или серверных манипуляций с картинкой, только средствами CSS?

Саратовская фракция серча (). Давайте посчитаемся.
malls
На сайте с 08.08.2005
Offline
255
#1

Консультация по данному вопросу стоит денег!

Надо бы зарядить по максимуму, но неизвестно сколько денег на WMZ кошельке ТС...

Можно ли угадать сколько денег у него на кошельке без применения JS или серверных манипуляций с картинкой, только средствами угадывания?

В переводе это означает - хочу то не знаю что! Ибо с тот же браузер это программа! Которая сама не думает, она берет что дают! Если ей ничего не дать (ширина текста = размер картинки) то и выровнять по нему текст (вогнать в тот же размер) она не сможет.

_vb_
На сайте с 25.07.2009
Offline
104
#2

Наверное коряво вопрос формулирую.

Вот css:


div.small-screenshot {
width: 200px;
display: inline-block;
vertical-align: top;
}

Вот html:


<div class="small-screenshot">
<img src="samle.png">
<p>Текст под картинкой произвольной длины, который нужно выровнять, чтобы ширина столбца этого текста соответствовала ширине картинки.</p>
</div>

Этот html код используется на нескольких страницах. Картинка samle.png на разных страницах может быть разной ширины. Как избавиться от фиксированного указания ширины в 200px в css, и устанавливать ширину дива динамически, в зависимости от ширины текущего samle.png?

T.R.O.N
На сайте с 18.05.2004
Offline
314
#3
malls:
Если ей ничего не дать (ширина текста = размер картинки) то и выровнять по нему текст (вогнать в тот же размер) она не сможет

может=))) просто все на дивах и стилях помешались

<table><tr><td>картинка</td></tr><tr><td>текст</td></tr></table>

T.R.O.N добавил 30.03.2010 в 12:56

malls:
В переводе это означает - хочу то не знаю что!

на вопрос с множественной выборкой, всегда дается ответ с вариациями....=))))))

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
_vb_
На сайте с 25.07.2009
Offline
104
#4
T.R.O.N:
просто все на дивах и стилях помешались
<table>

Не, таблицей нельзя. Причины долго объяснять, но дело совсем не в том, что дивы моднее :)

malls
На сайте с 08.08.2005
Offline
255
#5
T.R.O.N:
может=))) просто все на дивах и стилях помешались

хитрый гат! :)

а если картинка 20px, а в тексте слово "интернационал" 12pt ?

Не прокатит!

T.R.O.N:
на вопрос с множественной выборкой, всегда дается ответ с вариациями....=))))))

:) как вариант "return 0"...

frantic
На сайте с 09.02.2009
Offline
27
#6
_vb_:

Этот html код используется на нескольких страницах. Картинка samle.png на разных страницах может быть разной ширины. Как избавиться от фиксированного указания ширины в 200px в css, и устанавливать ширину дива динамически, в зависимости от ширины текущего samle.png?

Попробуй поставить диву float: left, а ширину вообще убрать. Так он помоему облегать будет и не надо ничего подгонять. Ну а если флоат не вписывается в дизайн тогда хз как. JS-ом

F
На сайте с 24.04.2009
Offline
45
#7

<div class="small-screenshot" id="mydiv">

<img src="samle.png" onLoad="getElementById('mydiv').style.width=this.width;">
<p>Текст под картинкой произвольной длины, который нужно выровнять, чтобы ширина столбца этого текста соответствовала ширине картинки.</p>
</div>
T.R.O.N
На сайте с 18.05.2004
Offline
314
#8
malls:
а если картинка 20px, а в тексте слово "интернационал" 12pt ?

=))) но тоды - да. Отсается к стилям ползти. owerflow:hedden

Fearful, решения с onLoad= - это всегда криво. Прыгает дизайн по мере загрузки... если вооще событие наступает

F
На сайте с 24.04.2009
Offline
45
#9
T.R.O.N:
=))) но тоды - да. Отсается к стилям ползти. owerflow:hedden
Fearful, решения с onLoad= - это всегда криво. Прыгает дизайн по мере загрузки... если вооще событие наступает

Знаю. .

_vb_
На сайте с 25.07.2009
Offline
104
#10
frantic:
Попробуй поставить диву float: left, а ширину вообще убрать. Так он помоему облегать будет и не надо ничего подгонять.

не фига - длинный текст раздвигает див больше ширины картинки.

Fearful:

onLoad=

Эээх. Видно так и придется.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий