Javascript-форум (https://javascript.ru/forum/)
-   (X)HTML/CSS (https://javascript.ru/forum/xhtml-html-css/)
-   -   Ширина содержимого (https://javascript.ru/forum/xhtml-html-css/13009-shirina-soderzhimogo.html)

decadent 12.11.2010 15:25

Ширина содержимого
 
Есть DIV. В нем <h3>, у которого "width: auto", и он растягивается в соответствии с содержимым. И несколько <p>, которые располагаются под <h3>. И проблема в том, что когда я им выставляю width: auto, то они растягиваются до той ширины, которая выставлена заголовком. А мне нужно, чтобы их ширина зависела от их содержимого.

Как это реализовать? Подскажите пожалуйста.

vladlen 12.11.2010 16:25

<p> - block элемент и всегда растягивается на всю ширину

Skipp 12.11.2010 16:30

decadent,
Зачем вам это???

Попробуйте заместо <p> использовать <span>

decadent 12.11.2010 16:48

Skipp,

Все равно растягивается на всю ширину. Мне нужно чтобы элементы располагались в столбец. Соответственно я ставлю им display: block. И <span> тоже получается растянут.

ksa 12.11.2010 22:10

Цитата:

Сообщение от decadent
я ставлю им display: block.

Потому и растягиваются... :) Какой же это после этого спан? Только одно название...

Картинкой че ли покажи что нужно...

Иваннн 13.11.2010 11:19

decadent,
Я не знаю как в других браузерах, а в IE8 задай width заведомо меньше чем требует содержимый контент. В этом случае все пробелы в тексте делай &nbsp, либо задай соответствующее свойвство noWrap (какое значение на память не помню), а то текст будет переносится на строчку ниже пока ширина не станет равной самому длинному слову.
Или второй вариант, опять же гарантирую только раборту в ie8 :сделай p position:absolute, top, left, bottom, right, width должны быть auto, следующему элементу в HTML коде назначь margin-top равным высоте элемента позиционируемых элементов. Этот вариант имеет тоже свои недостатки-максимальная ширина p болше ширины содержащего элемента и др.

vladlen 13.11.2010 13:52

Цитата:

Сообщение от Иваннн
Я не знаю как в других браузерах

Офигенный совет!
decadent, вы задачу описат можете, ничего не понятно что хотите сделать

decadent 13.11.2010 17:28

Цитата:

Сообщение от vladlen (Сообщение 78993)
вы задачу описат можете, ничего не понятно что хотите сделать

Есть <div> display: inline-block; position: relative; float: left; margin-top: 10px; margin-left: 10px;

В нем заголовок <h3> position: relative; display: block; В нем соответственно надпись, которая и задает ширину содержимого h3 и div.
При нажатии на заголовок загружается меню: несколько <span> друг под другом в одном столбце. Они тоже попадают в <div> где <h3> и растягиваются до ширины заголовка. Потому что чтобы они были каждый, под предыдущим им нужно выставить display: block. Я сделал так, что запихнул все span в отдельный div, и теперь у них ширина, как у самого широкого span.

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

ksa 13.11.2010 21:24

decadent, вместо корявого описания просто сделай тестовый хтмл-файл, а его "внутренности" выложи тут.
Покажи картинкой что хочешьполучить в итоге... Вроде не сложно? :)

float 15.11.2010 00:23

Цитата:

Можно ли сделать так, чтобы у каждого из них ширина была по содержимому и все они были в столбец?
<br /> tag may be?


Часовой пояс GMT +3, время: 17:11.