5px дополнительная маржа добавляется в конец каждого раздела - PullRequest
12 голосов
/ 19 января 2012

Я пытаюсь создать простой заголовок для страницы в css.Я планировал сложить два деления друг на друга.Верхняя часть имеет много вкладок, а нижняя представляет собой обычный сплошной элемент изображения.Но при рендеринге я вижу, что дополнительные 5px добавляются к высоте обоих этих элементов.Так что я не могу поставить дно точно поверх другого.

Нижнее поле автоматически увеличивается на 5 пикселей.Я пробовал отрицательные поля, обнулял глобальные поля и отступы.Все еще бесполезно.

Вот код.

<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;

}

body {

    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 ]

35 голосов
/ 08 февраля 2012

Ответ Эге был очень полезен для меня. Я потратил часы, чтобы найти причину нижнего заполнения некоторых изображений в div. Это была высота линии. Установите его на 0px в интересных областях:

.divclass {
    line-height: 0px; /* crucial for bottom padding 0 !!! */
}
7 голосов
/ 19 января 2012

Я думаю, что ваша проблема - line-height.Да, это так.Просто добавили line-height:0 на firebug и они слиплись.

Особенность встроенных блоков в том, что они ведут себя так же, как и любой встроенный текст, у вас также есть похожая проблема в навигации ниже, потому что вы нажали клавишу ввода в своем коде, и она будет выглядеть как неразрывная.и добавьте дополнительные поля x и справа, и слева.X здесь будет зависеть от размера шрифта.

Чтобы решить эту проблему, вы можете либо закрыть и открыть теги на той же строке, как показано ниже:

<div>
.
.
.
</div><div>
.
.
.
</div>

, или вы можете установить font-size и line-height на 0, но это не всегда возможно, если у вас нет других селекторов внутри этого div.

6 голосов
/ 19 января 2012

Вам необходимо указать единицы измерения в ваших объявлениях CSS.

http://jsfiddle.net/m7YCW/

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 был символ предупреждения, и он явно удалялся.

5 голосов
/ 19 января 2012

Попробуйте установить vertical-align:bottom на изображениях.

...