From 89340b51e3bfe7e1970f637687f131b595fd0ef3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=93=E5=8F=91=E5=8F=97=E9=95=BF=E7=94=9F?= Date: Fri, 15 Jun 2018 11:11:45 +0800 Subject: [PATCH] table-cell --- source/_posts/前端杂烩/table-cell应用.md | 115 ++++++++++++++++++++++ source/images/前端杂烩/height_auto.jpg | Bin 0 -> 12096 bytes source/images/前端杂烩/vertical-align.jpg | Bin 0 -> 18619 bytes 3 files changed, 115 insertions(+) create mode 100644 source/_posts/前端杂烩/table-cell应用.md create mode 100644 source/images/前端杂烩/height_auto.jpg create mode 100644 source/images/前端杂烩/vertical-align.jpg diff --git a/source/_posts/前端杂烩/table-cell应用.md b/source/_posts/前端杂烩/table-cell应用.md new file mode 100644 index 0000000..9028254 --- /dev/null +++ b/source/_posts/前端杂烩/table-cell应用.md @@ -0,0 +1,115 @@ +--- +title: table-cell应用 +date: 2018-6-15 09:23:57 +tags: + - 前端 + - css +categories: + - 前端杂烩 +--- + +`table-cell`元素让该元素以表格单元格的形式呈现,类似于td标签 +单元格有一些比较特别的属性,例如元素的垂直居中对齐,关联伸缩等 + +> table-cell并不是必须和`table`父元素配套使用 , 但是通常习惯于这样做 + + +table-cell会被某些css样式破坏 , 比如float 绝对定位 +对`width height padding`**有反应** , 对`margin`**无反应** +```css +.box { + display:table; +} +.box > .child { + display:table-cell; + background-color:pink; + padding:3px; + width:200px; + height:50px; + margin:6px; /* 不生效 */ +} +``` + +### 应用场景 +#### 多行文字垂直居中 +单行文字的居中十分简单, line-height与父元素的高度相同即可 +```css +.box { + height: 50px; + line-height: 50px; +} +``` +> 这里准确地说应该是文字或者全部为内联元素均在一行内 + +但是如果其中的文字可能有多行并且行数不确定 , 这种办法就不可行了 +使用table-cell配合`vertical-align: middle`就可以很方便做到 +```html +
+
我是单行文字
+
+
我是多行文字
+
我是第二行
+
+
+``` + +```css +.box > .child { + display:table-cell; + vertical-align: middle; + text-align:center; + border: 1px solid red; + padding:3px; + width:200px; + height:80px; +} +``` +![多行文字垂直居中](/images/前端杂烩/vertical-align.jpg) +当然水平居中和单行没什么差别 , 都是`text-align:center` + +#### 多列等高布局 +对于多列布局 , 当然存在很多的实现方法 +但是如果想要让所有列的高度适应于内容最高的一列的高度 +源于表格当中 **td** 的特性 +使用table-cell实现起来就更为方便 +```html +
+
我是单行文字
+
+
我是多行文字
+
我是多行文字
+
+
+
我是多行文字
+
我是多行文字
+
我是多行文字
+
我是多行文字
+
+
+``` +```css +.box { + display:table; + width: 760px; + margin: auto; +} +.box > .child { + display:table-cell; + text-align:center; + border: 1px solid red; + padding:3px; + width:200px; +} +.box > .left, .box > .right { + width:20%; +} +``` +![多列等高布局](/images/前端杂烩/height_auto.jpg) +可以看到整体的高度适应于内容最高的右边一列 + +### 兼容性 +table相关的布局方式在主流浏览器当中都是兼容的 + +|Chrome|Firefox (Gecko)|Internet Explorer|Opera|Safari (WebKit)| +|---|---| +|1.0 | 1.0 (1.7 or earlier) | 8.0 | 7.0 | 1.0 (85) | \ No newline at end of file diff --git a/source/images/前端杂烩/height_auto.jpg b/source/images/前端杂烩/height_auto.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26b9507e3116ea24643a80e53ba3b0785d2634c7 GIT binary patch literal 12096 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 literal 0 HcmV?d00001