Другие языки программирования и технологии
Как 2 div можно поставить в одну строку не используя float?
не используя float потому что если использовать float , то внешний блок, который включает в себя эти2 не разширяеться в зависимости от внутренних
1) вариант: display: inline-block; для внутренних блоков. для поддержки IE6-7 так (звездочка — хак только для IE6-7, которые не поддерживают display: inline-block):
display: inline-block; *display: inline; zoom: 1;
если нужно, чтобы родительский блок по ширине стал равен двум внутренним блокам, то ему прописать то же самое (display: inline-block; *display: inline; zoom: 1; ). по высоте и так будет все ок.
при этом надо учитывать, что любые пробелы между элементами будут восприниматься как символ пробела между строчными элементами, и если написать html так:
<div>
<div>
</div>
<div>
</div>
</div>
то будут промежутки между блоками, а если вот так, то их не будет:
<div><div></div><div></div></div>
можно указать нулевые размеры line-height и font-size для родительского блока, а во внутренних восстановить нужные размеры, тогда код можно писать как угодно.
2) добавить float: и родительскому блоку тоже — в этом случае его ширина будет равна ширине элементов с float внутри него (если иное не указано)
3) добавить элемент c clear: both; после внутренних блоков, но по ширине родительский блок не уменьшится до размеров внутренних блоков. (если не использовать один из вариантов выше display: inline-block; или float для родительского блока и не задать размеры блоку с clear: both; ). по высоте все будет ок.
display: inline-block; *display: inline; zoom: 1;
если нужно, чтобы родительский блок по ширине стал равен двум внутренним блокам, то ему прописать то же самое (display: inline-block; *display: inline; zoom: 1; ). по высоте и так будет все ок.
при этом надо учитывать, что любые пробелы между элементами будут восприниматься как символ пробела между строчными элементами, и если написать html так:
<div>
<div>
</div>
<div>
</div>
</div>
то будут промежутки между блоками, а если вот так, то их не будет:
<div><div></div><div></div></div>
можно указать нулевые размеры line-height и font-size для родительского блока, а во внутренних восстановить нужные размеры, тогда код можно писать как угодно.
2) добавить float: и родительскому блоку тоже — в этом случае его ширина будет равна ширине элементов с float внутри него (если иное не указано)
3) добавить элемент c clear: both; после внутренних блоков, но по ширине родительский блок не уменьшится до размеров внутренних блоков. (если не использовать один из вариантов выше display: inline-block; или float для родительского блока и не задать размеры блоку с clear: both; ). по высоте все будет ок.
сделать им display: inline?
Валерий Свист
это не то. нужно чтоб один блок был справа другой слева, когда дисплей инлайн, тогда они строкой делаються
Похожие вопросы
- Если до этого у тя был включен ком часов 5 а потом ты выключил его часа на 2 и потом поставил его на но
- Строки какого типа предпочтительнее использовать в С++?
- FASM. Замена символов в строке, используя подпрограммы.
- Проблемы с div'ами
- Перемещение < div > средствами JavaScript (см. внутри)
- Как вывести набираемый текст из формы в блок div?
- Имеет ли смысл делать такую оптимизацию? для int и для float
- Вес может ли быть дробным числом? Какой тип данных использовать для этого int или float или double ?
- В чем разница между div class="top" u div id="top" ?
- тег div