2010-03-01 3 views
1

Я работаю над ссылками на самом верху - при щелчке ссылки меняю класс, чтобы было видно, на какой странице вы находитесь. Я почти уверен, что это боковая и верхняя границы, которые вызывают это - увидеть, как он нажимает на ссылку «контакт» и ссылки между сдвигами на несколько пикселей в сторону. Также выбранный текст ссылки на 1 или 2 пикселя ниже другого. Какие-либо предложения?Div Borders Affecting Padding

Это не очень заметно, но я в деталях на этом этапе.

html,body{margin:0} 

body { 
    font-family: "Lucida Grande", Verdana, "Trebuchet MS", Helvetica, Arial, sans-serif; 
    font-size: 100%; 
    line-height: 140%; 
    color: #333333; 
    background-color: #eee; 
    } 

div.content { 
    font-size: 80%; 
    background-color: #FFFFFF; 
    margin-left:200px; 
    padding:15px; 
    } 

div.top-margin{ 
    height: 15px ; 
    background-color:#000; 
    } 

div.top{ 
    /*border-bottom: 1px solid #000;*/ 
    width:100%; 
    position: relative; 
    } 

div.left{ 
    float:left; 
    width:200px; 
    height:770px; 
    border-right: 1px solid #000; 
    font-size: 80%; 
    padding-top:20px; 
    } 

div.body{ 
    height: 770px; 
    background-color: #FFFFFF; 
    /*margin: 5px 5px 5px 5px;*/ 
    padding: 6px; 
    font-size: 90%; 
    } 

div.logo{ 
    height:125px; 
    width:250px; 
    border-right: 1px solid #000; 
    border-bottom: 1px solid #000; 
    } 

div.main{ 
    width: 1100px ; 
    margin-left: auto ; 
    margin-right: auto ; 
    } 

div.nav-links{ 
    float:right; 
    position: absolute; 
    bottom: 0; 
    /* margin-left:250px;*/ 
    margin-bottom: 0px; 
    width:100%; 
    } 

div.header-link{ 
    display:inline; 
    margin:0 30px 0 0; 
    } 

.logo-link{ 
    border-style: none; 
    } 

div#nav-links ul li { 
    float:left; 
    overflow:hidden; 
    position:relative; 
    padding-left:15px; 
    /*border-bottom: dotted 1px black;*/ 

    } 


ul#nav li.about-active { 
    /*width:110px;*/ 
    padding-right:19px; 
    /*border-bottom: solid 1px black;*/ 
    border-left: solid 1px black; 
    border-top: solid 1px black; 
    border-right: solid 1px black; 
    background-color:white; 

    } 


ul#nav li.process-active { 
    /*width:110px;*/ 
    padding-right:19px; 
    border-left: solid 1px black; 
    border-top: solid 1px black; 
    border-right: solid 1px black; 
    background-color:white; 

    } 

ul#nav li.projects-active { 
    /*width:110px;*/ 
    padding-right:19px; 
    border-left: solid 1px black; 
    border-top: solid 1px black; 
    border-right: solid 1px black; 
    background-color:white; 

    } 

ul#nav li.contact-active { 
    /*width:110px;*/ 
    padding-right:19px; 
    border-left: solid 1px black; 
    border-top: solid 1px black; 
    border-right: solid 1px black; 
    background-color:white; 

    } 

ul#nav li.about { 
    /*width:110px;*/ 
    padding-right:20px; 

    border-bottom: solid 1px black; 
    } 

ul#nav li.process { 
    /*width:110px;*/ 
    padding-right:20px; 

    border-bottom: solid 1px black; 
    } 

ul#nav li.projects { 
    /*width:110px;*/ 
    padding-right:20px; 

    border-bottom: solid 1px black; 
    } 

ul#nav li.contact { 
    /*width:110px;*/ 
    padding-right:20px; 

    border-bottom: solid 1px black; 
    } 

    ul#nav li.filler-left { 
    border-bottom: solid 1px black; 
    padding-left:311px; 
    margin-left:210px; 
    /*width:305px;*/ 

    } 

    ul#nav li.filler { 
    padding-right:20px; 
    border-bottom: solid 1px black; 
    width:10%; 
    } 



ul#nav a { 
    text-decoration: none; 
    } 

ul#nav a:hover {  
    text-decoration: none; 
    color:blue; 
    } 

div.footer{ 
    float:right; 
    font-size: 70%; 
    } 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta name="generator" content= 
    "HTML Tidy for Windows (vers 14 February 2006), see www.w3.org" /> 
    <meta name="generator" content="" /> 
    <title> 
     NCB 
    </title> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <meta name="description" content="" /> 
    <meta name="keywords" content="" /> 

    <link type="text/css" rel="stylesheet" href="http://joe-riggs.com/chip/style.css" /> 

    </head> 
    <body> 
    <div class="top-margin"></div> 
    <div class="main"> 
     <div class="top"> 
     <div class="logo"> 
     <a href="http://joe-riggs.com/chip"><img class="logo-link" src="http://joe-riggs.com/chip/images/logo.jpg" alt="logo" height="125px" width="250px" /></a> 

     </div> 
     <div class="nav-links" id="nav-links"> 
      <ul id="nav"> 

      <li class="filler-left"><a href="#">&nbsp;</a> 
      </li> 
      <li class="about-active"><a href="http://joe-riggs.com/chip/">About</a> 
      </li> 
      <li class="process"><a href="http://joe-riggs.com/chip/process">Process</a> 

      </li> 
      <li class="projects"><a href="http://joe-riggs.com/chip/projects">Projects</a> 
      </li> 
      <li class="contact"><a href="http://joe-riggs.com/chip/contact">Contact</a> 
      </li> 
      <li class="filler"><a href="#">&nbsp;</a> 
      </li> 
      </ul> 

     </div> 
     </div> 

     <div class="left"> 
     <ul> 
      <li>Links</li> 
     </ul> 
     </div> 
     <div class="content"> 

     <img src="images/architect.png" alt="me" style="float:left; padding-right:10px;" /> 
     So this is the main page - the first page people will see when they come 
     to your page. Maybe we could put a nifty pic of you doing something 
     architect looking. Also a general overview would be nice. This text 
     can go over top of a faded background picture too. 
     <br /> 
     <br /> 
     Donec velit nibh, pellentesque in fringilla a, blandit id nibh. Class 
     aptent taciti sociosqu ad litora torquent per conubia nostra, per 
     inceptos himenaeos. Nam posuere mattis velit eget rhoncus. Maecenas 
     bibendum tristique dolor, nec varius nulla porta eget. Aenean turpis 
     ligula, ornare in consectetur vitae, aliquet id nulla. Vivamus bibendum 
     sapien id neque lacinia vel viverra ante luctus. Sed lacinia velit id 
     diam vulputate sollicitudin. Integer viverra libero vel enim dapibus 
     rutrum. Praesent vel ipsum tortor. Pellentesque porttitor ante sed 
     felis pretium nec rhoncus eros lacinia. Nam a massa nec sapien eleifend 
     condimentum. Fusce ut augue id libero condimentum facilisis.<br /> 
     <br /> 
     Donec metus turpis, aliquet euismod tempor ut, vehicula condimentum 
     odio. Morbi vulputate imperdiet nibh et porta. Etiam et nulla est, ut 
     rhoncus nisi. Mauris eleifend lectus nunc, eu elementum odio. Aliquam 
     erat volutpat. Morbi et dolor sit amet enim malesuada pretium sed quis 
     odio. Vivamus convallis aliquam massa, blandit vehicula justo consequat 
     in. Sed imperdiet rutrum volutpat. Nunc dignissim aliquet mattis. Lorem 
     ipsum dolor sit amet, consectetur adipiscing elit. Mauris arcu quam, 
     euismod ut porttitor non, lobortis vitae massa. Aliquam venenatis purus 
     id mauris consequat vel luctus quam vulputate. Duis in neque libero. 
     Aenean pretium pharetra justo vel dapibus. Donec risus felis, facilisis 
     in vestibulum sit amet, tincidunt sit amet tellus. Donec ullamcorper 
     euismod lacus id pulvinar.<br /> 
     <br /> 

     Donec metus turpis, aliquet euismod tempor ut, vehicula condimentum 
     odio. Morbi vulputate imperdiet nibh et porta. Etiam et nulla est, ut 
     rhoncus nisi. Mauris eleifend lectus nunc, eu elementum odio. Aliquam 
     erat volutpat. Morbi et dolor sit amet enim malesuada pretium sed quis 
     odio. Vivamus convallis aliquam massa, blandit vehicula justo consequat 
     in. Sed imperdiet rutrum volutpat. Nunc dignissim aliquet mattis. Lorem 
     ipsum dolor sit amet, consectetur adipiscing elit. Mauris arcu quam, 
     euismod ut porttitor non, lobortis vitae massa. Aliquam venenatis purus 
     id mauris consequat vel luctus quam vulputate. Duis in neque libero. 
     Aenean pretium pharetra justo vel dapibus. Donec risus felis, facilisis 
     in vestibulum sit amet, tincidunt sit amet tellus. Donec ullamcorper 
     euismod lacus id pulvinar. 
     </div> 
    <div class="footer"> 
    <br /> 
    copyright &copy; 2010 
    </div> 
    </div><!--main--> 
    </body> 
</html> 
+2

Есть ли способ опубликовать соответствующую разметку здесь? В противном случае, как только вы исправите проблему, этот вопрос станет абсолютно бесполезным для всех, кто находит его во время поиска. –

ответ

2

Я считаю, что если добавить:

границы верхом: твердый 1px #FFF; border-right: solid 1px #FFF; border-left: solid 1px #FFF;

в ваш класс «div # nav-links ul li», это может решить проблему. Проблема возникает из-за того, что вы добавляете границу 1px к выбранному элементу li, который нажимает другие вкладки на 1px. Если у них уже есть граница 1px, все, что вы делаете, это изменение цвета.

+0

спасибо, это получило мое вертикальное выравнивание - возможно использование границ вокруг ссылок, потому что оно поместит пробелы на черной линии в другом месте - – jriggs

+0

'1px solid transparent' может быть более чистым, если он не должен работать в ie6. – Jan

0

На самом деле проблема связана с границами (сверху, когда выбрано, и внизу, когда не выбрано). Границы фактически влияют на высоту/ширину элементов на странице.

Я бы рекомендовал сохранить сплошную границу 1px со всех сторон, но просто измените цвет, чтобы сделать их «видимыми» или нет. Таким образом, их позиционирование не меняется в зависимости от выбора.

Вы можете увидеть, как разные цвета на различных пограничных сторон через W3Schools CSS Border Colors

+0

Или просто используйте 'border-color: transparent;' для скрытых границ ... – Rob

0

Вы правильны; это из-за границ. Вы должны отрегулировать отступы/поля или ширину/высоту выбранной вкладки для компенсации.