2013-03-03 2 views
0

Я положил div на страницу или что-нибудь на странице, и он автоматически расширяет свою ширину до конца, как если бы я установил ширину 100%. Очевидно, мне нужно установить значение ширины (например, 100 пикселей) для этой вещи, но я просто хочу, чтобы она была такой же широкой, как контент, а не фиксированной. Чем дольше текст, тем шире контент. Как я могу справиться с этим? Что не так?Simple CSS Issue

ответ

2

По умолчанию ширина auto говорит блочные элементы, чтобы развернуть на всю ширину родительского элемента. Вы хотите либо display: table, либо display: inline-block, чтобы он уменьшался до ширины его содержимого.

Вы можете увидеть display: table в действии здесь:

http://codepen.io/cimmanon/pen/FvGxl

+0

О, спасибо вам большое. дисплей: стол; и дисплей: встроенный блок работал хорошо. Но у меня есть еще несколько вопросов. Кулак, что могло бы произойти, почему я должен в конечном итоге установить display: table? И другое: есть ли какая-либо разница, используя одну из двух или есть точка, в которой они отличаются друг от друга? –

+0

Элементы встроенного блока (думаю, '') будут отображаться в строке с любыми встроенными элементами, а элементы таблицы (думаю, '

') не будут. Использование 'display: table' также генерирует анонимные элементы table-row/table-cell, но его ничего не нужно беспокоиться. – cimmanon

1

Вы должны установить:

width: auto; 
display: inline-block; 
+0

Извините, но это смешно не работает. Я попробовал это, прежде чем задавать вопрос. Это все еще 100% -ная ширина. –

+0

Извините, забыл линию. XD Смотрите мое редактирование. –