css 中宽高为什么没有继承?

html-css016

css 中宽高为什么没有继承?,第1张

只有块元素才可以默认“继承”其父元素的width.

浮动元素和定位元素也是不默认(不自动)“继承”其父元素宽度的。

当符合css默认“继承”的情况下(子元素必须是块级元素且无定位或浮动),是不需要写width属性,就可以默认“继承”的。

CSS中宽度和高度分别可以通过width和height实现,那么对于单元格的宽度和高度,则可以通过如下样式来设置

td{ width:100px height:50px} /*设置单元格宽度100px,高度50px*/

示例如下:

给出HTML元素

<table>

<tr><td>1</td><td>2</td><td>345</td></tr>

<tr><td>6789</td><td>10</td><td>11</td></tr>

</table>

设置单元格高度和宽度样式

table{border-collapse:collapse}

td{

border: 1px solid green /*边框*/

width:100px             /*单元格宽度*/

height:50px             /*单元格高度*/

text-align:center       /*单元格文字居中对齐*/

}

效果如下

padding-top 和 padding-bottom 属性分别表示容器的上内边距与下内边距。

虽然设置的是垂直方向的高度,有意思的是当该值为一个百分比的时候表示的是和本身包含的元素的宽度有关。

换句话就是说, padding-top 和 padding-bottom 的值为百分比时,其实表示的是其元素宽度的百分比。

因此,在容器宽度不确定的情况下(如: 80% , flex: 1 等),保持容器宽高比不变,可以通过设置元素的 padding-top 或 padding-bottom 值。

例如,保持宽高比为16:9:

这个在保持图片的宽高比时非常有用。