2011-05-25 33 views
1

我对编码和CSS这个世界很陌生,试图创建一个有2列和多行类似于表的页面,但我不确定这是否是正确的方式达到结果。使用CSS的2列和多行

注意

我使用内部样式表之前,我碰到一个外部的样式表复制。

我简单地命名了列leftnav和leftnav1以及content和content1。我知道这些名称并不理想,但我正试图确定编写页面的最佳方式,而不是担心此刻命名约定。

CODE

<!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 http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <meta http-equiv="Content-Language" content="en-us" /> 

    <meta name="keywords" content="" /> 
    <meta name="description" content="" /> 
    <meta name="author" content="" /> 

    <title>Sample</title> 

    <link rel="icon" type="image/png" href="" /> 

    <link rel="stylesheet" type="text/css" href="" /> 

    <style type="text/css" media="all"> 

    * { 

     margin: 0; 
     padding: 0; 
    } 

    body { 

     font-family: arial, verdana, sans-serif; 
     font-size: 0.8em; 

    } 

    #backdrop { 

     background-color: #000000; 
     width: 100%; 
     height: 10px; 

    } 

    #wrapper { 

     /* background-color: gray; */ 
     width: 960px; 
     margin: 0px auto; 
     margin-top: 100px; 

    } 

    #logo { 

     float: left; 
     background-color: #E0EEEE; 
     margin-bottom: 10px; 

    } 

    #topnav { 

     float: right; 
     margin-right: 180px; 
     margin-bottom: 10px; 
     /* background-color: #C1CDCD; */ 

    } 

    #topnav ul { 

     word-spacing: 5px; 

    } 

    #topnav ul li { 

     list-style-type: none; 
     display: inline; 

    } 

    #innerwrapper { 

     clear: both; 
     width: 800px; 
     margin: 0px auto; 

    } 

    #header { 

     background-color: #000000; 
     width: 700px; 
     height: 200px; 

    } 

    #innerhead { 

     color: #ffffff; 
     padding: 50px; 

    } 

    #leftnav { 

     float: left; 
     /* background-color: #838B8B; */ 
     margin-top: 10px; 
     width: 200px; 

    } 


    #content { 

     float: left; 
     /* background-color: #CDC9A5; */ 
     margin-top: 10px; 
     width: 500px; 

    } 

    #leftnav1 { 

     float: left; 
     /* background-color: #838B8B; */ 
     margin-top: 10px; 
     width: 200px; 

    } 


    #content1 { 

     float: left; 
     /* background-color: #CDC9A5; */ 
     margin-top: 10px; 
     width: 500px; 

    } 

    </style> 

</head> 

<body> 
    <div id="backdrop"></div> 
    <div id="wrapper"> 
     <div id="logo">logo</div> 

     <div id="topnav"> 
      <ul> 
       <li>about</li> 
       <li>browse</li> 
       <li>faq</li> 
       <li>contact</li> 
      </ul> 
     </div> 

     <div id="innerwrapper"> 
      <div id="header"> 

       <div id="innerhead"> 
        Sample text 
       </div> 

      </div> 

      <div id="leftnav">About</div> 

      <div id="content"> 

       Lorem ipsum dolor sit amet, at elementum neque vestibulum sollicitudin semper neque, vitae metus. Nibh ligula mi. Faucibus rutrum elit turpis, nec congue quam ipsum felis neque et, wisi amet, architecto eros congue. Maecenas suspendisse tellus arcu eget pharetra, rhoncus aenean sapien morbi nec arcu, vivamus aliquet lorem amet at, vestibulum purus sociis varius id. Imperdiet id magnis turpis beatae aliquet, vestibulum dolor nec eget eu cras lobortis, vel rerum, risus sed et, libero et non eros commodo. Taciti eu leo sollicitudin malesuada, nibh duis amet aenean, odio aptent ultrices. Tristique morbi nunc ullamcorper ut curabitur. Et a in ut sem varius, sem rutrum vehicula sem sed, at diam amet erat vel. Et sit in ante felis vitae sit. 

       Quam eget sed elit natoque velit, enim mauris mauris urna, integer amet tellus illo ipsum, dolor fermentum cursus enim mollis tristique porttitor. Non dignissim. Sit ligula leo tincidunt, justo ut ut placerat quisque non, risus nonummy. Ultrices mauris congue aliquam aliquam felis, at placerat, amet vestibulum dictumst pellentesque iaculis risus. Sem sed impedit nullam ultrices lorem aliquam, nulla tellus consequatur in ornare magna. Viverra amet pede in in ornare eu, id arcu. Justo mus suspendisse praesent et, amet mattis convallis ullamcorper felis, fermentum nibh at ac, ullamcorper ipsum auctor et maecenas, aliquam molestiae in qui. Massa elit suspendisse penatibus molestie libero dolor, non leo vitae, sollicitudin a, platea tristique iaculis, tortor augue non est. Ante rutrum quis pellentesque lacinia convallis non, vestibulum nibh nunc luctus nibh a, in amet, iaculis dui ornare pede laoreet eu. Cursus integer vehicula quis, justo eget purus mattis donec vestibulum nunc, nunc vel eros lectus. 

      </div> 

      <div id="leftnav1">About</div> 

      <div id="content1"> 

       Lorem ipsum dolor sit amet, at elementum neque vestibulum sollicitudin semper neque, vitae metus. Nibh ligula mi. Faucibus rutrum elit turpis, nec congue quam ipsum felis neque et, wisi amet, architecto eros congue. Maecenas suspendisse tellus arcu eget pharetra, rhoncus aenean sapien morbi nec arcu, vivamus aliquet lorem amet at, vestibulum purus sociis varius id. Imperdiet id magnis turpis beatae aliquet, vestibulum dolor nec eget eu cras lobortis, vel rerum, risus sed et, libero et non eros commodo. Taciti eu leo sollicitudin malesuada, nibh duis amet aenean, odio aptent ultrices. Tristique morbi nunc ullamcorper ut curabitur. Et a in ut sem varius, sem rutrum vehicula sem sed, at diam amet erat vel. Et sit in ante felis vitae sit. 

       Quam eget sed elit natoque velit, enim mauris mauris urna, integer amet tellus illo ipsum, dolor fermentum cursus enim mollis tristique porttitor. Non dignissim. Sit ligula leo tincidunt, justo ut ut placerat quisque non, risus nonummy. Ultrices mauris congue aliquam aliquam felis, at placerat, amet vestibulum dictumst pellentesque iaculis risus. Sem sed impedit nullam ultrices lorem aliquam, nulla tellus consequatur in ornare magna. Viverra amet pede in in ornare eu, id arcu. Justo mus suspendisse praesent et, amet mattis convallis ullamcorper felis, fermentum nibh at ac, ullamcorper ipsum auctor et maecenas, aliquam molestiae in qui. Massa elit suspendisse penatibus molestie libero dolor, non leo vitae, sollicitudin a, platea tristique iaculis, tortor augue non est. Ante rutrum quis pellentesque lacinia convallis non, vestibulum nibh nunc luctus nibh a, in amet, iaculis dui ornare pede laoreet eu. Cursus integer vehicula quis, justo eget purus mattis donec vestibulum nunc, nunc vel eros lectus. 

      </div> 
     </div> 
    <div> 
</body> 
</html> 

回答

2

对于将你的页面成列,你最好投资一些时间学习网CSS框架,如960BlueprintOOCSS

将页面(或页面的某些部分,如果需要)划分为所需数量的列后,可以将每列分成固定高度或可变高度的行。

尽管您希望自己解决这个问题是高贵的,但我会建议,因为您“对编程领域的新手”,您可能通过查看已知的设计问题的现有示例和解决方案而获益更多,从一开始就采用最佳实践方法。

编辑

好了,给我们与我们有什么坚持,让我们来看看的方式来清洁的风格了。

你声明完全相同的样式在两个地方:LeftnavLeftnav1倒不如改为:

.leftnav { float: left; margin-top: 10px; width: 200px; } 

您可以再申请该类既左侧导航容器。 contentcontent1样式也是如此。

要回答你原来的问题,“这是做正确的方式”,我会说,“严格来说,没有它不行,但它是一种方式做到这一点。

更好办法可能是使用以下命令:

<body> 
    <div id="backdrop"></div> 
    <div id="wrapper"> 
     <div id="logo">logo</div> 

     <div id="topnav"> 
      <ul> 
       <li>about</li> 
       <li>browse</li> 
       <li>faq</li> 
       <li>contact</li> 
      </ul> 
     </div> 

     <div id="innerwrapper"> 
      <div id="header"> 

       <div id="innerhead"> 
        Sample text 
       </div> 

      </div> 

      <div class="leftCol col300">About</div> 

      <div class="main"> 

       Lorem ipsum dolor sit amet, at elementum neque vestibulum sollicitudin semper neque, vitae metus. Nibh ligula mi. Faucibus rutrum elit turpis, nec congue quam ipsum felis neque et, wisi amet, architecto eros congue. Maecenas suspendisse tellus arcu eget pharetra, rhoncus aenean sapien morbi nec arcu, vivamus aliquet lorem amet at, vestibulum purus sociis varius id. Imperdiet id magnis turpis beatae aliquet, vestibulum dolor nec eget eu cras lobortis, vel rerum, risus sed et, libero et non eros commodo. Taciti eu leo sollicitudin malesuada, nibh duis amet aenean, odio aptent ultrices. Tristique morbi nunc ullamcorper ut curabitur. Et a in ut sem varius, sem rutrum vehicula sem sed, at diam amet erat vel. Et sit in ante felis vitae sit. 

       Quam eget sed elit natoque velit, enim mauris mauris urna, integer amet tellus illo ipsum, dolor fermentum cursus enim mollis tristique porttitor. Non dignissim. Sit ligula leo tincidunt, justo ut ut placerat quisque non, risus nonummy. Ultrices mauris congue aliquam aliquam felis, at placerat, amet vestibulum dictumst pellentesque iaculis risus. Sem sed impedit nullam ultrices lorem aliquam, nulla tellus consequatur in ornare magna. Viverra amet pede in in ornare eu, id arcu. Justo mus suspendisse praesent et, amet mattis convallis ullamcorper felis, fermentum nibh at ac, ullamcorper ipsum auctor et maecenas, aliquam molestiae in qui. Massa elit suspendisse penatibus molestie libero dolor, non leo vitae, sollicitudin a, platea tristique iaculis, tortor augue non est. Ante rutrum quis pellentesque lacinia convallis non, vestibulum nibh nunc luctus nibh a, in amet, iaculis dui ornare pede laoreet eu. Cursus integer vehicula quis, justo eget purus mattis donec vestibulum nunc, nunc vel eros lectus. 

      </div> 

      <div class="leftCol col300">About</div> 

      <div class="main"> 

       Lorem ipsum dolor sit amet, at elementum neque vestibulum sollicitudin semper neque, vitae metus. Nibh ligula mi. Faucibus rutrum elit turpis, nec congue quam ipsum felis neque et, wisi amet, architecto eros congue. Maecenas suspendisse tellus arcu eget pharetra, rhoncus aenean sapien morbi nec arcu, vivamus aliquet lorem amet at, vestibulum purus sociis varius id. Imperdiet id magnis turpis beatae aliquet, vestibulum dolor nec eget eu cras lobortis, vel rerum, risus sed et, libero et non eros commodo. Taciti eu leo sollicitudin malesuada, nibh duis amet aenean, odio aptent ultrices. Tristique morbi nunc ullamcorper ut curabitur. Et a in ut sem varius, sem rutrum vehicula sem sed, at diam amet erat vel. Et sit in ante felis vitae sit. 

       Quam eget sed elit natoque velit, enim mauris mauris urna, integer amet tellus illo ipsum, dolor fermentum cursus enim mollis tristique porttitor. Non dignissim. Sit ligula leo tincidunt, justo ut ut placerat quisque non, risus nonummy. Ultrices mauris congue aliquam aliquam felis, at placerat, amet vestibulum dictumst pellentesque iaculis risus. Sem sed impedit nullam ultrices lorem aliquam, nulla tellus consequatur in ornare magna. Viverra amet pede in in ornare eu, id arcu. Justo mus suspendisse praesent et, amet mattis convallis ullamcorper felis, fermentum nibh at ac, ullamcorper ipsum auctor et maecenas, aliquam molestiae in qui. Massa elit suspendisse penatibus molestie libero dolor, non leo vitae, sollicitudin a, platea tristique iaculis, tortor augue non est. Ante rutrum quis pellentesque lacinia convallis non, vestibulum nibh nunc luctus nibh a, in amet, iaculis dui ornare pede laoreet eu. Cursus integer vehicula quis, justo eget purus mattis donec vestibulum nunc, nunc vel eros lectus. 

      </div> 
     </div> 
    <div> 
</body> 

你的三个必需的款式则成为:

.leftCol { float: left; } 
.col300 { width: 300px; } 
.main { overflow: hidden; } 
+0

@ Phil.Wheeler - 由于这并不是说我不想使用O看看使用网格CSS框架,但我想学习和了解如何实现类似的结果。这可能需要我编写更多的代码,但至少我正在学习每个属性的含义,如何最好地使用它等,以及如何最好地将页面分为多个部分。尽管如此,我很欣赏这个建议。 – PeanutsMonkey 2011-05-25 03:33:35

+0

能否请您详细说明我们在结果中想要什么。因此我们将对此进行处理。 – NewUser 2011-05-25 04:01:59

+0

@ Phil.Wheeler - 谢谢。发布问题后,它确实发生在我身上,我应该使用类而不是IDS。您建议的解决方案是否被视为最佳实践? – PeanutsMonkey 2011-05-25 19:41:57