How to make a stable two column layout in HTML/CSS

前端 未结 3 546
孤街浪徒
孤街浪徒 2020-12-07 10:28

I want a container with two columns. Details:

The container

  • Width should adjust to 100% of its parent element (easily accomplished).
  • Height
相关标签:
3条回答
  • 2020-12-07 10:32

    Piece of cake.

    Use 960Grids Go to the automatic layout builder and make a two column, fluid design. Build a left column to the width of grids that works....this is the only challenge using grids and it's very easy once you read a tutorial. In a nutshell, each column in a grid is a certain width, and you set the amount of columns you want to use. To get a column that's exactly a certain width, you have to adjust your math so that your column width is exact. Not too tough.

    No chance of wrapping because others have already fought that battle for you. Compatibility back as far as you likely will ever need to go. Quick and easy....Now, download, customize and deploy.

    Voila. Grids FTW.

    0 讨论(0)
  • 2020-12-07 10:37

    Here you go:

    <html>
    <head>
      <title>Cols</title>
      <style>
        #left {
          width: 200px;
          float: left;
        }
        #right {
          margin-left: 200px;
          /* Change this to whatever the width of your left column is*/
        }
        .clear {
          clear: both;
        }
      </style>
    </head>
    
    <body>
      <div id="container">
        <div id="left">
          Hello
        </div>
        <div id="right">
          <div style="background-color: red; height: 10px;">Hello</div>
        </div>
        <div class="clear"></div>
      </div>
    </body>
    
    </html>

    See it in action here: http://jsfiddle.net/FVLMX/

    0 讨论(0)
  • 2020-12-07 10:51

    I could care less about IE6, as long as it works in IE8, Firefox 4, and Safari 5

    This makes me happy.

    Try this: Live Demo

    display: table is surprisingly good. Once you don't care about IE7, you're free to use it. It doesn't really have any of the usual downsides of <table>.

    CSS:

    #container {
        background: #ccc;
        display: table
    }
    #left, #right {
        display: table-cell
    }
    #left {
        width: 150px;
        background: #f0f;
        border: 5px dotted blue;
    }
    #right {
        background: #aaa;
        border: 3px solid #000
    }
    
    0 讨论(0)
提交回复
热议问题