css流体液体流体布局

时间:2013-01-18 04:00:41

标签: css layout

我正在尝试在CSS中实现一些相当棘手的东西,但也非常“简单”:

enter image description here

说明:

其中包含文本的一些元素(未知宽度),每侧有2个元素,两者都占用剩余空间。

我想和容器display:table以及3个孩子一起去display:table-cell,但是它不起作用,或者我不知道如何正确使用它。

3 个答案:

答案 0 :(得分:4)

Demo playground

HTML

<header>
  <h1>Some title</h1>
</header>

CSS

header{ 
  display:table;
  text-align:center; 
  width:50%; 
}
header:before, header:after{ 
  content:'';
  display:table-cell; 
  background:red; 
  width:50%;
  border-radius:5px; 
}
header > h1{ white-space:pre; padding:0 10px; }

答案 1 :(得分:2)

这是使用display: tabledisplay: table-cell制作此栏和文字。

<强> HTML

<div class="textBarContainer">
    <div class="textBarBefore"></div>
    <div class="textBar">Text</div>
    <div class="textBarAfter"></div>
</div>

<强> CSS

.textBarContainer {
    display: table;
    width: 100%;
}
.textBar {
    display: table-cell;
    padding: 0 10px;
    white-space: pre;
}
.textBarAfter, .textBarBefore {
    background: #cc0000;
    width: 50%;
    height: 20px;
    display: table-cell;
    content:' ';
    border-radius: 5px;
}

<强> Demo

答案 2 :(得分:-4)

<ul class="columnlayout">
 <li>
   <div>Left content</div>
 </li>

 <li class="centercontent">
   <div>middle text content</div>
 </li>

 <li>
   <div>Right content</div>
 </li>
</ul>

//columns layout
ul.columnlayout
{
    margin:0;
    width:100%;
    display:block;
    clear:both;
    list-style-type: none;

    > li
    {
        float:left;
        margin:0;
        list-style-type:none;
                    width:200px;

                    &.centercontent
                    {
                       width:auto;
                    }

        ul.xoxo
        {
            list-style-type: none;

            li
            {
                list-style-type: none;
            }
        }
    }
}
哦,请原谅我的.scss!

ul.columnlayout {
    margin:0;
    width:100%;
    display:block;
    clear:both;
    list-style-type: none;
   }

  ul.columnlayout li {
    float:left;
    margin:0;
    list-style-type:none;
    width:200px;
  }

    ul.columnlayout li.centercontent {
      width:auto;
    }