5px дополнительная маржа добавляется в конец каждого раздела
Я пытаюсь создать простой заголовок страницы в CSS. Я планировал сложить два деления друг на друга. Верхняя часть имеет много вкладок, а нижняя представляет собой обычный сплошной элемент изображения. Но при рендеринге я вижу, что дополнительные 5px добавляются к высоте обоих этих элементов. Так что я не могу поставить дно точно поверх другого.
Существует нижнее поле 5px автоматически. Я пробовал отрицательные поля, сбрасывал глобальные поля и отступы на ноль. Все еще бесполезно.
Вот код.
<div class ="main_nav">
<div class="first_tab">
<img src ="images/startup/tab1_brown.png" height="25" width="90" alt="Temp" />
</div>
<div class = "ind_tab">
<img src ="images/startup/tab1_orange.png" height="25" width="90" alt="Temp"/>
</div>
<div class = "ind_tab">
<img src ="images/startup/tab1_brown.png" height="25" width="90" alt="Temp" />
</div>
</div>
<div class="lock">
<img src ="images/startup/divbg_new.png" alt="Temp" />
</div>
CSS:
*{ margin:0; padding:0; }
ul.master_navigation
{
font-size: 125%;
font-weight: bold;
text-align: center;
list-style: none;
margin: 0.5em 0;
padding: 0;
}
ul.master_navigation li
{
display: inline-block;
padding: 0 1%;
}
a
{
color: #08f;
font-weight: bold;
text-decoration: none;
}
a:visited
{
color: #88f;
}
a:hover
{
color: #f00;
}
p
{
text-align: justify;
}
p.cent
{
text-align: left;
}
div.header
{
height: 200;
}
div.main_nav
{
display: inline-block;
height: 25;
width: 900;
padding: 0;
margin: 0;
vertical-align: bottom;
}
div.first_tab
{
height: 25;
float: left;
}
div.ind_tab
{
height: 25;
float: left;
margin-left: -10px;
z-index: -5;
}
div.lock
{
margin-top: -100;
height: 91;
width: 900;
padding: 0;
margin: -5;
}
тело {
width:900px;
max-width: 100%;
margin: auto;
padding: 0;
background-image:url(images/startup/bg_2.gif);
background-repeat:repeat-x;
}
.pad
{
padding: 0;
margin: 0;
}
Вот ссылка на страницу
http://net4.ccs.neu.edu/home/pradep/
Я потратил слишком много времени на это. Пожалуйста помоги.
4 ответа
Вам нужно указать единицы измерения в ваших декларациях CSS.
div.main_nav
{
display: inline-block;
height: 25px; /* set px */
width: 900;
padding: 0;
margin: 0;
vertical-align: bottom;
}
Научитесь использовать инструменты разработчика в Chrome, если вы щелкнули правой кнопкой мыши по элементам и выбрали -> проверить, что это вызовет инструменты разработки. Затем вы можете просмотреть области "метрики" и "вычисленные стили", чтобы увидеть, что main_nav отображал как 30px вместо 25px, а также что рядом с объявлением 25 css был символ предупреждения, и он явно удалялся.
Ответ Эге был очень полезен для меня. Я потратил часы, чтобы найти причину нижнего заполнения некоторых изображений в div. Это была высота линии. Установите его на 0px в интересных областях:
.divclass {
line-height: 0px; /* crucial for bottom padding 0 !!! */
}
Я думаю, что ваша проблема line-height
, Да, это так. Только что добавлен line-height:0
На поджоге они слиплись.
Особенность встроенных блоков в том, что они ведут себя так же, как и любой встроенный текст, у вас также есть похожая проблема при навигации ниже, потому что вы нажали клавишу ввода в своем коде, она отобразит его как неразрывный пробел и добавит дополнительные поля x вправо и влево, а также. X здесь будет зависеть от размера шрифта.
Чтобы решить эту проблему, вы можете закрыть или открыть теги в одной строке, как показано ниже:
<div>
.
.
.
</div><div>
.
.
.
</div>
или вы можете установить font-size
а также line-height
в 0
, но это не всегда возможно, если у вас нет других селекторов внутри этого div.