2011-03-06 375 views
0

我正在为我的客户开发一个网站,我遇到的问题是每当您调整窗口大小时,导航栏上的按钮都会一起挤压。问题的原因对我来说并不明显,所以我来这里寻求一些帮助。当浏览器窗口最大化时,navi栏对我来说也很适合,但对于我的客户,她在页面中间看到了twitter按钮。我认为这只是一个解决问题,因为她的屏幕比我的屏幕小,但是有没有办法解决这个问题?CSS/HTML导航栏问题

网站:
the crue cart

HTML

<title>the crue cart</title> 

    <link rel="shortcut icon" href="images/favicon.png"> 
    <link rel="alternate" type="application/rss+xml" href="{RSS}"> 
    <link rel="stylesheet" href="style.css" type="text/css" media="screen" /> 
    <script src="http://platform.twitter.com/anywhere.js?id=yQDKaggXesWYWPCPFNXn1Q&amp;v=1"> 
    </script> 
    <script type="text/javascript"> 
     twttr.anywhere(function(twitter) { 
      twitter.hovercards(); 
     }); 
    </script> 



</head> 
<body> 

    <div id="container"> 

     <div id="header"> 
      <ul> 
       <li><div id="logo"> 
        <h1 class="thecruecart">the crue cart 
        <img src="images/leaf.png" width="15" height="15" class="leaf"></h1> 
        <h1 class="wholesnackerie">whole snackerie<h1> 
       </div></li> 
       <!--Who What When Where Why Help!--> 
       <li class="navigation"><a href="home.html" class="navigation">Who<span class="green">?</span></a></li> 
       <li class="navigation"><a href="thewhat.html" class="navigation">What<span class="green">?</span></a></li> 
       <li class="navigation"><a href="thewhenwhere.html" class="navigation">When & Where<span class="green">?</span></a></li> 
       <li class="navigation"><a href="thewhy.html" class="navigation">Why<span class="green">?</span></a></li> 
       <li class="navigation"><a href="help.html" class="navigation">Help<span class="green">!</span></a></li> 
       <li class="navigation"><a href="order.html" class="navigation">ORDER<span class="green">!</span></a></li> 
       <li class="navigation"><div id="share"> 
       <iframe src="http://www.facebook.com/plugins/like.php?href=facebook.com%2Fthecruecart&amp;layout=button_count&amp;show_faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:75px; height:21px;" allowTransparency="true"></iframe> 
       <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.twitter.com/thecruecart" data-text="Check out The Crue Cart!" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> 
       </div></li> 
      </ul> 
     </div> 

     <div id="navbar"></div> 

     <div id="title"> 
      <h2 class="title">Catering? Hungry?</h2> 
     </div> 

     <div id="body"> 
      <p>The Crue Cart is a mobile bakery that finds its home in Bellevue. We love animals and nutrition, and our cupcakes show that.<br/> No wheat, no animal products (or by-products) and no processed sugar. Also, our products will be organic and locally produced<br/> whenever possible. We love supporting local agriculture and economy.</p> 
      <br/> 
      <p>Want to chat? <span class="chunky">Email us: [email protected]</span></p> 
     </div> 

     <div class="clearfooter"></div> 
    </div> 

    <div id="footer"> 
     <p class="ft">&copy the crue cart 2010. All Rights Reserved.</p> 
    </div>  
</body> 

CSS

@font-face { font-family: chunkfive; src: url("fonts/Chunkfive.otf") format("opentype"); }

 @font-face { 
    font-family: aller; 
    src: url("fonts/aller.ttf") format("truetype"); 
    } 

    @font-face { 
    font-family: tgheros; 
    src: url("fonts/tgheros.otf") format("opentype"); 
    } 

    @font-face { 
    font-family: tgheros-bold; 
    src: url("fonts/tgheros-bold.otf") format("opentype"); 
    } 

    html {} 

    body { 
      width:auto; 
      height:100%; 

      background-color:#ffffff; 
      margin:0px; 
      margin-left:auto; 
      margin-right:auto; 
      padding:0px; 
    } 

    h1, h2, h3, h4, h5, h6 { 
     font-family:chunkfive; 
     color:#0000ff; 
     margin:0px; 
    } 

    h1 { 
     font-family:chunkfive; 
     color:#0000ff; 
     font-size:30px; 
     margin:0px; 
     padding:0px; 
    } 

    h1.thecruecart { 
     font-family:chunkfive; 
     color:#0000ff; 
     font-size:30px; 
     margin-left:auto; 
    } 

    h1.wholesnackerie { 
     font-family:chunkfive; 
     color:#44aa00; 
     font-size:15px; 
     margin-left:40px; 
    } 

    h2.title { 
     font-size:35px; 
     margin-top:10px; 
     margin-left:10px; 
    } 

    h2 a{ 
     font-size:35px; 
     color:#44aa00; 
     margin-top:10px; 
     margin-left:10px; 
    } 

    img { 
     margin:0px; 
    } 

    img.leaf { 
     position:relative; 
     top:2px; 
     left:-8px; 
    } 

    p { 
     font-family:tgheros-bold; 
     font-size:18px; 
     color:#0000ff; 
     margin:0px; 
     margin-left:10px; 
    } 

    p.order{ 
     font-family:tgheros-bold; 
     font-size:16px; 
     color:#0000ff; 
     margin:0px; 
     margin-left:10px; 
    } 

    p.facebook { 
     display:inline; 
     font-family:tgheros-bold; 
     font-size:18px; 
     color:#0000ff; 
     margin:0px; 
     margin-left:5px; 
    } 

    p.ft { 
     color:#0000ff; 
     font-family:chunkfive; 
     font-size:14px; 
     letter-spacing:1px; 

     margin:0px; 
     padding:0px; 
    } 

    a { 
     color:#44aa00; 
     font-family:chunkfive; 
     font-size:20px; 
     letter-spacing:1px; 
     text-decoration:none; 
     margin:0px; 
     padding:0px; 
    } 

    a:link, a:visited, a:hover, a:active { 

    } 

    a.navigation { 
     color:#0000ff; 
     font-family:chunkfive; 
     font-size:20px; 
     text-decoration:none; 
    } 

    ul { 
     list-style-type:none; 
     margin:0px; 
     padding:0px; 
    } 

    li { 
     float:left; 
    } 

    li.navigation{ 
     display:inline; 
     position:relative; 
     top:33px; 
     float:left; 
     margin-left:45px; 
    } 

    iframe { 
     display:inline; 
     margin-top:0px; 
     margin-left:10px; 
    } 

    /*Facebook Stuffs*/ 

    /*Twitter Stuffs*/ 

    .chunky { 
     color:#44aa00; 
     font-family:chunkfive; 
     font-size:20px; 
     letter-spacing:1px; 
     margin:0px; 
     padding:0px; 
    } 

    .green { 
     color:#44aa00; 
    } 

    .clearfooter { 
     height:1px; 
     clear:both; 
    } 

    #container { 
     min-height:100%; 
     margin-bottom: -20px; 
     position: relative; 
    } 

    #header { 
     display:block; 
     width:auto; 
     height:58px; 
     padding-right:5px; 
     padding-left:5px; 
    } 

    #logo { 
     margin-top:0px; 
     margin-left:10px; 
    } 

    #navbar { 
     display:block; 
     width:auto; 
     height:2px; 
     background-color:#0000ff; 
    } 

    #share { 
     display:inline; 
     margin:0px; 
    } 

    #body { 
     width:1330px; 
     margin:0px; 
     margin-bottom:30px; 
     padding:0px; 
    } 

    #footer { 
     display:block; 
     width:auto; 
     height:10px;    
     position:realtive;   
     text-align:center; 
     clear:both; 
    }</code> 

回答

1

Problem is, is that you don't have a fixed width container you have width:100%, the site is liquid.

You need to set a width on a container and it will play nice!

0

You have set the body width to 1330px. If you are really making a site for a client, you might be better of going with the "standard" maximum width of 960px. That way the site will work properly on most screen sizes.

Some reading that sides the magic number: http://cameronmoll.com/archives/2009/04/is_it_time_to_move_beyond_960/

ps. You should not set the width to the body element itself, some older browsers are quite quirky with it, I think at least IE6 does not understand it, but cannot check now since I'm don't have it close to hand.

0

I don't think you have posted all the CSS styles in your question. Nevertheless, you have to fix the width of the navigation bar element in css. You could use a fixed width for your header div, but I'd use another div or ul for the navigation items and use fixed width on those, so that the rest of the items in the header can still float around.

0

You don't have a doctype and are in quirks mode. Add this to your first line and see where we stand: <!doctype html>

0

有造型的导航不少办法,我对您的布局的变化来说明如何你可能会接近它。

请参阅我的变化:http://jsfiddle.net/audetwebdesign/YzrUn/以及我的以下评论和解释。

CSS样式

您可以利用CSS选择器,摆脱不必要的类,从而简化您的样式表。

将徽标作为单独的div保留在header中,并使用ul列表标记您的导航链接。

您可以排版您的标志或使用图像。固定logo div有助于一点,高度可以设置为auto或者如果您使用的是图片,则可以修复。

让我们将徽标div浮动到左侧,看看如何实现这一切。

将蓝色边框添加到header以充当可视分隔符。

的灵活的导航栏

设置“UL”名单的边缘,使其清除标志股利。由于徽标左侧为 ,所以需要左边距,否则链接将覆盖徽标。

我们将li元素浮动到左侧,添加一些边距,然后将a导航链接显示为block's,添加一些填充。

请注意我如何使用b添加绿色标点符号,比span + class更简单。

最后,在最后一个li元素中添加一个类,以便您有一个钩子来设置iframe和其他与社交媒体网站相关的位的样式。

如何工作

在我的演示中,你可以改变输出窗口的宽度。

当您缩小窗口时,链接(包括社交媒体位)将环绕到徽标的右侧,并且标题面板将垂直展开,从而允许所有链接可在较小的屏幕上访问或喜欢使用窄浏览器窗口的人。

这样您就不必修复页面的宽度,除非您有其他原因这样做。

您可以调整各种元素的填充以获得所需的垂直对齐。我认为这里有足够的可调元素来照顾设计中的任何可能性。

最后,为了获得最佳效果,使用严格的文档类型,否则,IE中的怪癖模式可能会导致问题。