Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Установка высоты div в HTML с CSS
Я пытаюсь разложить страницу в виде таблицы с двумя столбцами. Я хочу, чтобы самый правый столбец был закреплен справа от страницы, и этот столбец должен иметь отчетливый цвет фона. Содержимое в правой части почти всегда будет меньше, чем в левой. Я хотел бы, чтобы div справа всегда был достаточно высоким, чтобы достичь разделителя для ряда ниже него. Как я могу сделать так, чтобы цвет фона заполнял это пространство?
.rightfloat {
color: red;
background-color: #BBBBBB;
float: right;
width: 200px;
}
.left {
font-size: 20pt;
}
.separator {
clear: both;
width: 100%;
border-top: 1px solid black;
}
<div class="separator">
<div class="rightfloat">
Some really short content.
</div>
<div class="left">
Some really really really really really really
really really really really big content
</div>
</div>
<div class="separator">
<div class="rightfloat">
Some more short content.
</div>
<div class="left">
Some really really really really really really
really really really really big content
</div>
</div>
Edit: я согласен, что этот пример очень похож на таблицу, и фактическая таблица была бы прекрасным выбором. Но моя страница "real" в конечном итоге будет менее табличной, и я просто хотел бы сначала освоить эту задачу!
Кроме того, по какой-то причине, когда я создаю/редактирую свои сообщения в IE7, код правильно отображается в режиме предварительного просмотра, но когда я действительно отправляю сообщение, форматирование удаляется. Редактирование моего поста в Firefox 2, похоже, сработало, FWIW.
Еще одно изменение: Да, я не принял ответ GateKiller. Это действительно хорошо работает на моей простой странице, но не на моей реальной более тяжелой странице. Я изучу некоторые связи, на которые вы мне указали.
Гм...
Короткий ответ на ваш вопрос заключается в том, что вы должны установить высоту 100% для тела и тега html, а затем установить высоту 100% для каждого элемента div, который вы хотите сделать 100% высотой страницы.
На самом деле, высота 100% не будет работать в большинстве проектных ситуаций - это может быть коротким, но это не очень хороший ответ. Google "any column longest" макеты. Самый лучший способ-это поместить левый и правый кольцы внутри обертки div, плавающие левый и правый кольцы, а затем плавающие обертку - это делает его растянутым на высоту внутренних контейнеров - затем установить фоновое изображение на внешней обертке. Но следите за любыми горизонтальными полями на плавающих элементах, если вы получите IE "double margin float bug".
Некоторые браузеры поддерживают таблицы CSS, поэтому вы можете создать такой макет, используя различные значения CSS display: table-* . В этой статье (и в одноименной книге) Рэйчел Эндрю есть больше информации о таблицах CSS: все, что вы знаете о CSS, неверно
Если вам нужен согласованный макет в старых браузерах, которые не поддерживают таблицы CSS, вам нужно сделать две вещи:
Сделайте так, чтобы ваш элемент "table row" очистил свои внутренние плавающие элементы.
Самый простой способ сделать это-установить
overflow: hidden, который заботится о большинстве браузеров, иzoom: 1, чтобы вызвать свойствоhasLayoutв более старых версиях IE.Есть много других способов очистки поплавков, если этот подход вызывает нежелательные побочные эффекты, вы должны проверить вопрос, какой метод 'clearfix' является лучшим и статью о том, чтобы иметь макет для других методов.
Сбалансируйте высоту двух элементов "table cell".
Есть два способа подойти к этому вопросу. Либо вы можете создать видимость равных высот, установив фоновое изображение на элементе "table row" ( техника искусственных столбцов), либо вы можете сделать так, чтобы высоты столбцов совпадали, давая каждому большое отступление и одинаково большое отрицательное поле.
Искусственные столбцы-это более простой подход и очень хорошо работает, когда ширина одного или обоих столбцов фиксирована. Другой метод лучше справляется со столбцами переменной ширины (на основе процента или единиц измерения em), но может вызвать проблемы в некоторых браузерах, если вы ссылаетесь непосредственно на содержимое в ваших столбцах (например, если столбец содержит
<div id="foo"></div>, а вы связаны с#foo)
Вот пример использования метода заполнения / маржи для балансировки высоты столбцов.
html, body {
height: 100%;
}
.row {
zoom: 1; /* Clear internal floats in IE */
overflow: hidden; /* Clear internal floats */
}
.right-column,
.left-column {
padding-bottom: 1000em; /* Balance the heights of the columns */
margin-bottom: -1000em; /* */
}
.right-column {
width: 20%;
float: right;
}
.left-column {
width: 79%;
float: left;
}
<div class="row">
<div class="right-column">Right column content</div>
<div class="left-column">Left column content</div>
</div>
<div class="row">
<div class="right-column">Right column content</div>
<div class="left-column">Left column content</div>
</div>
Эта демонстрация Barcamp Натали Даун также может быть полезна при выяснении того, как добавить дополнительные столбцы и хорошие интервалы и отступы: столбцы равной высоты и другие трюки (именно здесь я впервые узнал о трюке margin/padding, чтобы сбалансировать высоту столбцов)
Я отказался от строго CSS и использовал немного jquery:
var leftcol = $("#leftcolumn");
var rightcol = $("#rightcolumn");
var leftcol_height = leftcol.height();
var rightcol_height = rightcol.height();
if (leftcol_height > rightcol_height)
rightcol.height(leftcol_height);
else
leftcol.height(rightcol_height);
Вот пример столбцов равной высоты- столбцы равной высоты-revisited
Вы также можете проверить идею "Faux Columns", а также- искусственные столбцы
Не ходите по настольному маршруту. Если это не табличные данные, не рассматривайте их как таковые. Это плохо сказывается на доступности и гибкости.
У меня была такая же проблема на моем сайте ( бесстыдный плагин ).
У меня был раздел nav "float: right", и основная часть страницы имеет фоновое изображение размером около 250 пикселей, выровненное справа и "repeat-y". Затем я добавил к нему что-то с "clear: both". Вот это свойство W3Schools и CSS clear.
Я поместил клир в нижней части "page"-го класса div. Мой источник страницы выглядит примерно так.
body
-> header (big blue banner)
-> headerNav (green bar at the top)
-> breadcrumbs (invisible at the moment)
-> page
-> navigation (floats to the right)
-> content (main content)
-> clear (the quote at the bottom)
-> footerNav (the green bar at the bottom)
-> clear (empty but still does something)
-> footer (blue thing at the bottom)
Я надеюсь, что это поможет :)
Нет необходимости писать собственный css, есть библиотека под названием "Bootstrap css", вызывая которую в вашем HTML головном разделе, мы можем добиться многих стилизаций, вот пример: Если вы хотите предоставить два столбца в строке, вы можете просто сделать следующее:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="row">
<div class="col-md-6">Content</div>
<div class="col-md-6">Content</div>
</div>
Вот МД стоит для средних устройств,вы можете использовать col-sm-6 для небольших устройств и col-xs-6 для дополнительных небольших устройств
Просто пытаюсь помочь здесь, чтобы код был более читабельным.
Помните, что вы можете вставить фрагменты кода, нажав на кнопку вверху с "101010". Просто введите свой код, затем выделите его и нажмите кнопку.
Вот такой пример:
<html>
<body>
<style type="text/css">
.rightfloat {
color: red;
background-color: #BBBBBB;
float: right;
width: 200px;
}
.left {
font-size: 20pt;
}
.separator {
clear: both;
width: 100%;
border-top: 1px solid black;
}
</style>
Макет с 2 столбцами немного сложно заставить работать в CSS (по крайней мере, пока CSS3 не станет практичным.)
Плавающие влево и вправо будут работать до точки, но это не позволит вам расширить фон. Чтобы сделать фон более плотным, вам придется реализовать метод, известный как "faux columns,", который в основном означает, что ваши столбцы сами по себе не будут иметь фонового изображения. Ваши 2 столбца будут содержаться внутри родительского тега. Этому родительскому тегу присваивается фоновое изображение, содержащее 2 желаемых цвета столбцов. Сделайте этот фон только таким большим, как вам нужно (если это сплошной цвет, сделайте его только на 1 пиксель выше) и повторите его. AListApart имеет отличное пошаговое руководство о том, что нужно, чтобы он работал.
http://www.alistapart.com/articles/fauxcolumns/