Intereting Posts
Клонирование и атрибуты обновления Swift: отображение данных HTML в ярлыке или textView Сила для открытия всплывающего windows «Сохранить как …» в текстовой ссылке нажмите для PDF в HTML Прокрутить страницу до некоторой высоты Подтвердить выбор windows Outlook добавляет пространство в HTML-адрес электронной почты Как установить высоту для выпадающего windows выбора Почему не работает верх: 0 работает над абсолютно позиционируемыми элементами относительно тела? Использование jquery для получения итогов строк и итоговой суммы таблицы Почему HttpServletRequest.getRemoteAddr () не работает в сервлете Java? Предотвратить запрос Chrome на сохранение пароля из windows ввода? Пользовательские заголовки HTTP-запросов в HTML-формате Запись и сохранение изображения с высоким разрешением Что означает # документ? Автоматический размер динамического текста для заполнения контейнера с фиксированным размером

Как расположить два divs горизонтально внутри другого div

Я не играл с CSS слишком долго и без ссылок на данный момент. Мой вопрос должен быть довольно простым, но поиск в Google не дает достаточного ответа. Итак, добавляя к коллективным знаниям …

|#header---------------------------------------------------------------| | TITLE | |#sub-title------------------------------------------------------------| |bread > crumb | username logout | |#sub-left | #sub-right| |---------------------------------|------------------------------------| 

Это то, чего я хочу, чтобы мой макет был. Заголовок в любом случае. Я хотел, чтобы подзаголовок содержал суб-левые и субправые. Какие правила css я использую, чтобы div был связан атрибутами другого div. В этом случае, как я могу гарантировать, что суб-левое и суб-правое пребывание в подзаголовке?

Это довольно распространенное заблуждение, что вам нужно clear:both div внизу, когда вы действительно этого не делаете. В то время как ответ foxy верен, вам не нужен этот не семантический, бесполезный очищающий div. Все, что вам нужно сделать, это придерживаться overflow:hidden на контейнере:

 #sub-title { overflow:hidden; } 

Когда вы плаваете sub-left и sub-right они больше не занимают места в sub-title . Вам нужно добавить еще один div со style = "clear: both" под ними, чтобы развернуть содержащий div или они появятся под ним.

HTML:

 
sub-left
sub-right
к
sub-left
sub-right
от
sub-left
sub-right

CSS:

 #sub-left { float: left; } #sub-right { float: right; } .clear-both { clear: both; } 

Это должно делать то, что вы ищете:

      
Right
Left

И вы можете управлять всем документом с помощью classа-оболочки или просто с двумя столбцами с подмассивом.

Я согласен с Darko Z в применении «переполнения: скрытый» к # подзаголовку. Однако следует упомянуть, что метод переполнения: скрытый метод очистки поплавков не работает с IE6, если у вас нет указанной ширины или высоты. Или, если вы не хотите указывать ширину или высоту, вы можете использовать «zoom: 1»:

 #sub-title { overflow:hidden; zoom: 1; } 

Этот ответ добавляет вышеприведенные решения для решения вашего последнего предложения, которое гласит:

как я могу гарантировать, что суб-левое и правое право оставаться в подзаголовке

Проблема заключается в том, что по мере расширения содержимого суб-левого или суб-правого они будут распространяться ниже подзаголовка. Такое поведение разработано в CSS, но вызывает проблемы для большинства из нас. Самое простое решение состоит в том, чтобы иметь div, созданный с помощью декларации CSS Clear.

Чтобы сделать это, используйте инструкцию CSS для определения закрывающего div (может быть Clear Left или RIght, а не оба, в зависимости от того, какие объявления Float были использованы:

 #sub_close {clear:both;} 

И HTML становится:

 
Right
Left

Извините, просто понял, что это было опубликовано ранее, не нужно было делать эту чашку кофе, набирая мой ответ!

@Darko Z: вы правы, лучшее описание для переполнения: автоматическое (или переполнение: скрытое) решение, которое я нашел, было в aa post на SitePoint некоторое время назад. Простая очистка от FLoats, а также хорошее описание в 456bereastreet статья CSS Советы и рекомендации Часть 2 . Приходится признаться, что слишком ленив, чтобы реализовать эти решения самостоятельно, так как закрытие div cludge работает нормально, хотя оно, конечно, очень неэлегантно. Так что теперь мы сделаем усилие, чтобы очистить мой поступок.

Серьезно попробуйте некоторые из них, вы можете выбрать фиксированную ширину или более жидкие макеты, выбор за вами! Действительно легко реализовать.

Планы IronMyers

  • Макеты CSS
  • Руководство по настройке макетов
  • 750 пиксельных макетов CSS
  • 950 пиксельных макетов CSS
  • 100 процентов макетов CSS

больше больше больше

  • Layout Gala CSS Layouts
  • Glish CSS Layouts
  • Код Sucks CSS Layouts
  • Max Design CSS Layouts
  • CSS Разметки CSS

Вы также можете достичь этого, используя frameworks CSS Grids, такие как YUI Grids или Blue Print CSS . Они решают много проблем с перекрестным браузером и делают более сложные макеты столбцов возможными для использования простых смертных.

Лучший и простой подход с css3

 #subtitle{ /*for webkit browsers*/ display:-webkit-box; -webkit-box-align:center; -webkit-box-pack: center; width:100%; } #subleft,#subright{ width:50%; } 

Что-то вроде этого, возможно …

 < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">      
#sub-title
#sub-left
#sub-right

Вместо использования overflow:hidden , который является своего рода хаком, почему бы просто не установить фиксированную высоту, например height:500px , в родительское подразделение?

 #sub-left, #sub-right { display: inline-block; } 

С помощью Bootstrap Grid вы можете легко получить совместимое с кросс-браузером решение.

 
Div1
Div2

jsfiddle: http://jsfiddle.net/DTcHh/4197/

Вы делаете это так:

 
TITLE
subleftsubright

ЛЕГКО – мне понадобилось 1 минуту, чтобы набрать его. Помните, что файл CSS должен быть загружен клиенту, поэтому не беспокойтесь о вафле о дополнительных тегах, его неподходящем в этом случае.