表格边距与div

时间:2014-08-01 18:14:03

标签: html css

Table

您好,

我是CSS的新手,我将设计一个带有div(无表格)的定价表。我使用下面的CSS。我的主要问题是列和行之间的自定义空间。

当我添加" border-spacing"细胞的四边会有边界。但正如你在图片中看到的那样,细胞两侧需要不同的空间。

例如,顶部和底部的边框空间为0,左侧和右侧的边框空间为10px。但我找不到任何解决方案。

css风格:

.Table{
    display: table;
}
.Title{
    display: table-caption;
    text-align: center;
    font-weight: bold;
    font-size: larger;
}
.Heading{
    display: table-row;
    font-weight: bold;
    text-align: center;
}
.Row{
    display: table-row;
}
.Cell{
    display: table-cell;
    border: solid;
    border-width: thin;
    padding-left: 5px;
    padding-right: 5px;
    text-align: center;
}

.Full_width{
    width: 100%;
}

.No_border{
    border: none;
}

.mostpopular_tag{
    background-color:#F25050;
    color: #fff;
}

.pricing_table_header{
    line-height: 21px;
    background-color: #181818;
    color: #fff;
}

表格HTML结构如下:

<div class="Table full_width">
    <div class="Row">
        <div class="Cell No_border">
            <p></p>
        </div>
        <div class="Cell No_border mostpopular_tag">
            <p>Most Popular</p>
        </div>
        <div class="Cell No_border">
            <p></p>
        </div>              
    </div>
    <div class="Heading ">
        <div class="Cell No_border pricing_table_header">
            <p>Heading 1</p>
        </div>
        <div class="Cell No_border pricing_table_header">
            <p>Heading 2</p>
        </div>
        <div class="Cell No_border pricing_table_header">
            <p>Heading 3</p>
        </div>
    </div>
    <div class="Row">
        <div class="Cell No_border">
            <p>Row 1 Column 1</p>
        </div>
        <div class="Cell No_border">
            <p>Row 1 Column 2</p>
        </div>
        <div class="Cell No_border">
            <p>Row 1 Column 3</p>
        </div>
    </div>
    <div class="Row">
        <div class="Cell No_border">
            <p>Row 2 Column 1</p>
        </div>
        <div class="Cell No_border">
            <p>Row 2 Column 2</p>
        </div>
        <div class="Cell No_border">
            <p>Row 2 Column 3</p>
        </div>
    </div>
</div>

这是我的表格演示:http://jsfiddle.net/2rFfL/

2 个答案:

答案 0 :(得分:2)

边框,边距和填充属性对于“全部”与“每一面”具有不同的版本

所以,边界可以这样做:

border-width: 3px;

或者它可以这样做(第一个数字是顶部,第二个右边,第三个底部,第四个左边):

border-width: 3px 5px 2px 10px;

或者,您可以像这样指定每个:

border-top-width: 3px;
border-right-width: 5px;
border-bottom-width: 2px;
border-left-width: 10px;

答案 1 :(得分:1)

border-spacing接受两个值。如果同时提供这两个值,如border-spacing: 10px 0;,那么第一个应用于水平,第二个垂直应用。

http://www.w3schools.com/cssref/pr_border-spacing.asp

修改:http://jsfiddle.net/2rFfL/1/