【问题标题】:Forcing column breaks in CSS3 multi-column, when using html tables使用 html 表格时,在 CSS3 多列中强制分列
【发布时间】:2013-09-03 11:07:13
【问题描述】:

我有多列布局工作,现在想让它与 html 表格一起工作(请参阅http://lucas.ucs.ed.ac.uk/tutorials/CSS3_columns/)但是只有一个小缺陷:表格被切割为下一列,切割可以是中排...看起来很可怕。

当我有一个只有一系列

元素的页面时,我使用了一个简单的 style="display: inline-block;" 技巧将段落的内容保持在一起,强制在段落之间进行分栏。

不出所料,这不适用于表格。

我尝试将每个

的内容放入一个 div 中,并应用 inline-block;" 样式;我试过申请
{
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  -moz-page-break-inside: avoid;
  page-break-inside: avoid; 
}

s 和对 s - 没有喜悦。

有没有人在使用 CSS3 多列时让 HTML 表格分成整行的建议

【问题讨论】:

    标签: html css html-table multiple-columns


    【解决方案1】:

    截至今天,该标准尚未得到很好的实施。我建议使用 div 创建一个伪表,其中行 div 将避免中断作为块元素。生成 div 表就像制作表一样简单。但是它在浏览器上可能更重。

    下面我展示一个小例子。我希望它运作良好。是我能设计的唯一解决方案。

    <head>
    <style>
    .columns {
    position : relative ;
    
    column-width: 27em;
    -moz-column-width: 27em;
    -webkit-column-width: 27em;
    column-rule: 2px solid red;
    -webkit-column-rule: 2px solid red;
    -moz-column-rule: 2px solid red;
    column-gap: 12px;
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    
    }
    
    .testerRow {
        display : block ;
        height : 1em ;
        width : 100% ;
        margin : 0px ;
    }
    
    
    
    div.tl1, div.tl2, div.tl3 {
        display : block ;
        float : left ;
        width : 32.5%;
        height : 15px ;
        border : 2px solid red ;
        border-left : 0px solid red ;
        border-top : 0px solid red ;
    }
    
    div.tl1 {
        border : 2px solid red ;
        border-top : 0px ;
    }
    
    </style>
    </hed>
    <body>
    <div class="columns">
        <div class="testerRow">
            <div class="tl1">test</div>
            <div class="tl2">test2</div>
            <div class="tl3">test3</div>
        </div>
        <div class="testerRow">
            <div class="tl1">test</div>
            <div class="tl2">test2</div>
            <div class="tl3">test3</div>
        </div>
        <div class="testerRow">
            <div class="tl1">test</div>
            <div class="tl2">test2</div>
            <div class="tl3">test3</div>
        </div>
        <div class="testerRow">
            <div class="tl1">test</div>
            <div class="tl2">test2</div>
            <div class="tl3">test3</div>
        </div>
        <div class="testerRow">
            <div class="tl1">test</div>
            <div class="tl2">test2</div>
            <div class="tl3">test3</div>
        </div>
        <div class="testerRow">
            <div class="tl1">test</div>
            <div class="tl2">test2</div>
            <div class="tl3">test3</div>
        </div>
        <div class="testerRow">
            <div class="tl1">test</div>
            <div class="tl2">test2</div>
            <div class="tl3">test3</div>
        </div>
        <div class="testerRow">
            <div class="tl1">test</div>
            <div class="tl2">test2</div>
            <div class="tl3">test3</div>
        </div>
    </div>
    </body>
    

    可能具有上边框并使用 css3 选择器添加下边框作为最后一个 .testerRow 的 div 子级将比使用下边框更有效。取决于您的实施。祝你好运!

    【讨论】:

      猜你喜欢
      • 2014-04-27
      • 1970-01-01
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-25
      相关资源
      最近更新 更多