其实有个简单的方法,使用display:table, display:table-row and display:table-cell 就可以实现,而且高度小的容器会自适应那些高度相对较高的,但是IE不支持这个属性...display:table; border-collapse:separate; } .row { display:table-row; } .row div { display... } 解释: 1.dispaly:table;让层.equal作为块级元素的表格table显示,也就是将他作为一个表格 2.border-collapse:separate;边框独立,就像表格没有合并单元格以前...3.display:table-row;将.row作为表格行tr显示 4.display:table-cell;将.row的下级div作为表格单元格td显示 5.然后定义宽度 这里还使用了 border-spacing...:10px;来区别几个盒子,正如上面所陈述的,IE下不能正常显示,但是在:Mozilla 1.6, Opera 7.50, Safari 1.2.2, Firefox 0.8, OmniWeb 5b,
run-in 此元素会根据上下文作为块级元素或内联元素显示。 table 此元素会作为块级表格来显示(类似 table>),表格前后带有换行符。...table-column 此元素会作为一个单元格列显示(类似 ) table-cell 此元素会作为一个表格单元格显示(类似 和 ) table-caption 此元素会作为一个表格标题显示...,而它的父元素和祖父元素没有定义display:table-row和display:table-cell,那么就会匿名的创建这两个父元素,尽管外观没有任何变化。...display:table-row和display:table-cell。...在兼容各个浏览器的位置高度div垂直居中效果中,middle对象中使用了display:table-cell,它的父对象parent中也显示声明了display:table-cell,否则会匿名创建两个具有此属性的对象
CSS 2.1 */ display: inline-block; display: table; display: inline-table; display: table-cell; display...display: list-item 此属性默认会把元素作为列表显示,要完全模仿列表的话还需要加上 list-style-position,list-style-type div> 111111...详情可以查看 张鑫旭老师的博客 Tip: inline-block会形成一个BFC display: table table 此元素会作为块级表格来显示(类似table),表格前后带有换行符。...所有的表格元素将会自动在自身周围生成所需的匿名table对象,使其符合table/inline-table、table-row、table-cell的三层嵌套关系。...,所以应该是不能使用的,支持度全无 display: flex flex是一种弹性布局属性 注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。
inline-table 此元素会作为内联表格来显示(类似 table>),表格前后没有换行符 table-row-group 此元素会作为一个或多个行的分组来显示(类似 ) table-header-group...此元素会作为一个或多个行的分组来显示(类似 ) table-footer-group 此元素会作为一个或多个行的分组来显示(类似 ) table-row 此元素会作为一个表格行显示...(类似 ) table-column-group 此元素会作为一个或多个列的分组来显示(类似 ) table-column 此元素会作为一个单元格列显示(类似 )...table-cell 此元素会作为一个表格单元格显示(类似 和 ) table-caption 此元素会作为一个表格标题显示(类似 ) 示例汇总:试一试 <html...} .table-column {display: table-column} .table-cell {display: table-cell} .table-caption {display: table-caption
要使用此参数,对象必须和:after及:before 伪元素一起使用 inline-table :将表格显示为无前后换行的内联对象或内联容器 list-item :将块对象指定为列表项目。...并可以添加可选项目标志 run-in :分配对象为块对象或基于内容之上的内联对象 table :将对象作为块元素级的表格显示 table-caption :将对象作为表格标题显示 table-cell...:将对象作为表格单元格显示 table-column :将对象作为表格列显示 table-column-group :将对象作为表格列组显示 table-header-group :将对象作为表格标题组显示...table-footer-group :将对象作为表格脚注组显示 table-row :将对象作为表格行显示 table-row-group :将对象作为表格行组显示 2、代码段如下 #main {...display : table ; border-collapse : collapse ; } #nav { display : table-cell ; width
套用HTML显示则为: div class="fix"> div class="l">div> div class="cell">div> div> 这几个类名对应CSS....l{float:left;} .cell{display:table-cell; *display:inline-block; width:2000px; *width:auto;} 这种方式实现的自适应布局...对于一般的元素,很好办的直接: word-wrap:break-word; 而display:table-cell声明的作用就是让元素以td标签的形式呈现,因此,对于连续单词字符,display:table-cell...下的自适应布局就会中招(支持display:table-cell的IE8+以及其他现代浏览器下)。...经过我的N多此时与实践,发现可行的方法为 → 对于含有连续单词字符的元素(不能是应用了display:table-cell的框架元素),附加大致如下的CSS代码: display:table; width
我对css-vertical-align的一些理解与认识 在使用vertical-align的时候,由于对齐的基线是用行高的基线作为标记,故需要设置line-height或设置display:table-cell...实现 .parent{display:table;table-layout:fixed;width:100%;} .left{display:table-cell;} .right{width:100px...实现 .parent{display:table;table-layout:fixed;width:100%;} .left,.center,.right{display:table-cell;} .left...实现 .parent{width:100%;display:table;table-layout:fixed} .left,.center,.right{display:table-cell;} .left...:100%;} .row{display:table-row;} .item{display:table-cell;width:33.3%;height:200px;} 实用flex实现 div class
衍生 - display:table-cell; pc端定死宽?...六、table-cell - 伪表格布局 有了table老人家的启发,让我想起来css中还有一个属性display,他的值是可以仿造table的。...这样结构我们还用正常的结构,样式上伪造下table老人家。...> div> css: /* table-cell */ .cont-tc{ display: table; } .cont-tc .head { display: table-cell;...:table;(自己测试不设置这一条也可以) 两列都设置display:table-cell;[w3c:此元素会作为一个表格单元格显示(类似td 和 th)] 别忘了两列之间的间隙,我比较喜欢用文字的左
+margin (1)原理、用法 原理:先将子框设置为块级表格来显示(类似 table>),再设置子框居中以达到水平居中。...原理:通过将父框转化为一个表格单元格显示(类似 和 ),再通过设置属性,使表格单元格内容垂直居中以达到垂直居中。...用法:先将父框设置为display:table-cell,再设置vertical-align:middle。...(2)代码实例 div class="parent"> div class="child>DEMOdiv> div> .parent { display:table-cell;...display:table-cell; vertical-align:middle; }.child { display:inline-block; } (3)优缺点 优点:兼容性较好 3)
分两套看 holder的 display:table holder div的 display:table-cell; vertical-align:middle; 就可以实现在ff,safari和...*position:absolute; top:50%; left:0; display:table-cell; vertical-align:middle; width:100%;} .holder...holder div的 display:table-cell; vertical-align:middle; 就可以实现在ff,safari和opera下的垂直居中,但是对ie系列无效 holder的...-- display:table-cell; 以表格单元格的形式显示对象 */ vertical-align:middle;/* 内容以对象中部对齐*/ display: inline-block; inline-block...-- body{ text-align:center; } .wrap{ width:100%; display:table;} .center{height:200px;display: table-cell
1、利用line-height和vertical-align html div class="box"> 测试文字 div> css .box{ width...:table-cell实现水平垂直居中显示 html div class="table"> cell">测试文字测试文字测试文字测试文字 div>...css .table{ display: table; } .cell{ display: table-cell; vertical-align: middle; text-align...: center; } 3、利用定位方式position+transform实现水平垂直居中显示 html div class="box"> 测试文字测试文字测试文字测试文字<...; align-items: center; 5、利用display:box html div class="box"> 测试文字测试文字测试文字测试文字 div
注意,display:table和 display:table-cell的使用方法,前者必须设置在父元素上,后者必须设置在子元素上,因此我们要为需要定位的文本再增加一个div>元素: div#wrap...display:table-cell; 15 border:1px solid #FF0099; 16 background-color:#FFCCFF; 17 width:760px...6 并不能正确地理解display:table和display:table-cell,因此这种方法在 Internet Explorer 6及以下的版本中是无效的。...对于如果使用CSS Hack来区分浏览器,你可 以参考这篇“简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera”: div#wrap { display:table...vertical-align:middle; 19 display:table-cell; 20 _position:absolute; 21 _top:50%; 22 } 23 div
鼠标悬浮时显示 鼠标悬浮的场景十分常见,例如导航的菜单: 以及在《Google地图开发总结》一文提到的,marker详情框的显示: 一般要把隐藏的东西如菜单作为hover目标的子元素或者相邻元素,才方便用...第二种办法是借助table的自适应特性 ,每个div都是一个td,td肯定是等高的,html结构不变,CSS改一下: .wrapper{ display: table; border-spacing...: 20px; /* td间的间距*/} .wrapper > div { display: table-cell; width: 1000px; /*设置很大的宽度,table...例如在小于500px时,每一列占满一行,那么只要把display: table-cell覆盖掉就好了: @media (max-width: 500px){ .wrapper{ display...span class="tr"> div>column 3div> div>column 4div>div> 在大屏和小屏时,tr是不显示的,而在中屏时,tr
: inline-block既具有block的宽高特性又具有inline的同行元素特性(CSS 2.1 新增) table : 作为块级表格来显示(类似table),表格前后带有换行符。...block 设置元素为块状元素 如果不指定宽高,默认会继承父元素的宽度,并且独占一行,即使宽度有剩余也会独占一行,高度一般以子元素撑开的高度为准,当然也可以自己设置宽度和高度。...span block list-item 会把元素作为列表显示 例: .display3 { display: list-item; } div> display3...table 作为块级表格来显示(类似table),表格前后带有换行符。...; } .display5_td { padding: 5px; display: table-cell; border: 1px solid; } div class="display5
同时menu自已本身hover的时候也要显示,否则鼠标一离开导航的时候,菜单就消失了: .menu:hover{ display: list-item; } 这里会有一个小问题,即menu和导航需要挨着一起...第二种办法是借助table的自适应特性 ,每个div都是一个td,td肯定是等高的,html结构不变,CSS改一下: .wrapper{ display: table; border-spacing...: 20px; /* td间的间距*/}.wrapper > div { display: table-cell; width: 1000px; /*设置很大的宽度,table...例如在小于500px时,每一列占满一行,那么只要把display: table-cell覆盖掉就好了: @media (max-width: 500px){ .wrapper{ display...span class="tr"> div>column 3div> div>column 4div>div> 在大屏和小屏时,tr是不显示的,而在中屏时,tr
display: inline-flex; 元素的子元素作为 flex 项但是该元素的行为类似于行内元素。...display: table-row: 该元素的行为类似于 HTML 的 元素。 display: table-cell: 该元素的行为类似于 HTML 的 元素。...display: ruby-base-container 实验性 : 该元素是作为匿名盒子生成的。...我们来看一个最简单的 table 布局的示例, 设置 CSS 样式将 , div>, 和 设置分别显示表、表行和表单元: form { display...display: table-row: 该元素的行为类似于 HTML 的 元素。 display: table-cell: 该元素的行为类似于 HTML 的 元素。
table>会阻塞浏览器渲染引擎的渲染顺序,table>是整体载入后才开始显示的,没有加载完毕前,table>为一片空白,而div>等标签可以逐行渲染,一边加载一边显示。...display 倘若需要类似于表格的布局,可以使用display: table;来呈现,display的table属性值只是声明了某些元素在浏览器中的样式,其并不包含语义,他的属性基本能够对应table...这时,那些“丢失”的元素会被模拟出来,从而使得表格模型能够正常工作。...table类似table>:此元素会作为块级表格来显示,表格前后带有换行符。 inline-table类似table>:此元素会作为内联表格来显示,表格前后没有换行符。...table-cell类似和:此元素会作为一个表格单元格显示。 table-caption类似:此元素会作为一个表格标题显示。
1)table元素(或display为table元素)内单行文本省略,需要给table元素(或display为table元素)添加table-layout:fixed样式 设置为table布局元素的子元素单行文本省略不起作用..., .demo .right{ display:table-cell; } .demo .left{ width:120px; min-width:120px... div> div> 这个实例中,demo元素设置为dispaly:table,其子元素left和right设置为display:table-cell...为了使元素right内的h2和p的文本省略样式起作用,必须在元素demo(即设置display:table的元素)添加一条样式table-layout:fixed,这个解决方式同样适用于table元素。...2)单行文本省略和元素及其父元素的width属性都无关 3)table元素(或display为table元素)内单行文本省略,需要给table元素(或display为table元素)添加table-layout
display:table-cell 属性简介 display:table-cell;会使元素表现的类似一个表格中的单元格 td,利用这个特性可以实现文字的垂直居中效果。...同时它也会破坏一些 CSS 属性,使用 table-cell 时最好不要与 float 以及 position: absolute 一起使用,设置了 table-cell 的元素对高度和宽度高度敏感,对...对高度和宽度高度敏感。 不要对 display:table-cell 使用百分比设置宽度和高度。 下面介绍几个 table-cell 的应用: 1.... class="table-wrap"> 我是一大推文字,我想要垂直居中,这是省略这是省略这是省略这是省略 div> 关键在于设置了 display:cell; 后,vertical-align...诡异的百分比宽高 使用 table-cell 有一个让人很抓狂的地方,那就是他的宽高是不能使用百分比设置的,具体的原因我一直没有找到,只能理解为这是这个属性的特性。希望有知道的老铁告知一声。
领取专属 10元无门槛券
手把手带您无忧上云