几种display:table-cell的应用

一、display:table-cell属性简述

display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签。目前IE8+以及其他现代浏览器都是支持此属性的,但是IE6/7只能对你说sorry了,这一事实也是大大制约了display:table-cell属性在实际项目中的应用。

单元格有一些比较特别的属性,例如元素的垂直居中对齐,关联伸缩等,所以display:table-cell还是有不少潜在的使用价值的,虽说IE6/7不支持此属性,但是幸运的是,IE6/7一些乱糟糟的属性与渲染,我们可以其他方法实现同样或是类似的效果。

与其他一些display属性类似,table-cell同样会被其他一些CSS属性破坏,例如float, position:absolute,所以,在使用display:table-cell与float:left或是position:absolute属性尽量不用同用。设置了display:table-cell的元素对宽度高度敏感,对margin值无反应,响应padding属性,基本上就是活脱脱的一个td标签元素了。

二、display:table-cell与大小不固定元素的垂直居中

使用display:table-cell让大小不固定元素垂直居中已经是很老的方法了,方便阅读,这里再次展示下代码:

/*这里的大小是根据高宽上限128像素图片设置的*/
div{display:table-cell; width:1em; height:1em; border:1px solid #beceeb; font-size:144px; text-align:center; vertical-align:middle;}
div img{vertical-align:middle;}

结果如下图:

二、display:table-cell与两栏自适应布局

其中头像部分使用了float属性,左浮动,IE8+以及Firefox、Chrome、Opera等现代浏览器右侧使用了display:table-cell属性,结果就自适应了,很简单的代码,很神奇的效果。

对于不认识display:table-cell属性的IE6/7,使用display:inline-block属性代替display:table-cell就可以!

例如:

这种格局中:

HTML代码:

<section class="wom_nav">
         <ul class="wom_navul">
             <li class="curwom"><a href="">女包</a></li>
             <li><a href="">男包</a></li>
         </ul>
     </section>

CSS代码:

.womlist_ul{ width:96%; margin:0 auto;}
.womlist_ul li{ float:left; width:22%; margin-right:4%; margin-bottom:5%; text-align:center;}
.womlist_ul li:nth-child(4n){ margin-right:0;}
.womlist_ul li img{ display:block; border:1px solid #ececec;}
.womlist_ul li i{ display:block; margin-top:8px;}

这个格局用在HTML5的横式是非常有用的,可以减少一个浮动属性的增加!

时间: 2024-10-11 00:27:58

几种display:table-cell的应用的相关文章

css Table布局-display:table

使用表格布局一直是一个敏感的主题.一般情况下,Web开发人员考虑基于表格布局是禁忌.尽管反对的理由看起来证据很充分,但是大多数开发者除了谴责基于表格的布局,都无法提供完善的使用场景."表格不好." 从早期反对HTML Table(<table>标签)开始这种势头就非常强劲.几代开发者被成功洗脑,根深蒂固的认为:任何使用表格都是邪恶的. 诚然,我也是避免使用表格布局的开发者之一,即使是显示表格数据. 我甚至曾经斥责我的下属开发者同事,当他们使用 display:table 用

基于display:table的CSS布局

当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table.table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器.它标志着复杂CSS布局技术的结束,同时也给了HTML表格布局致命一击.最终,使用CSS布局来制作出类似于table布局的栅格将会变得十分迅速和简单.网页元素应用上那些与表格相关的display属性值后,能够模仿出与表格相同的特性.我将会在该文中给大家演示这种方法给CSS布局带来的巨大影响. 使用CSS表格 CSS表格

display:table、box和width百分比来均分盒子的比较

box box适合均分内部子盒子没有边框的父盒子,否则内部盒子的边框重叠问题不太好处理,另外如果自盒子间有margin值,中间的margin会是两侧的double,这时可通过nth-child(index)来进行个别调整. box-flex是对除开子盒子内容区.定宽子盒子之外的剩余部分进行划分,而不是把父盒子的整个宽度进行划分,因此就会造成所有子盒子都设置为box-flex:1,但因为子盒子内容多少不一而造成不能均分. box的特点 1.当父元素设置为display:box后,内部的自盒子无论是

display:table

display:table的CSS声明能够让一个HTML元素和它的子节点像table元素一样.使用基于表格的CSS布局,使我们能够轻松定义一个单元格的边界.背景等样式,而不会产生因为使用了table那样的制表标签所导致的语义化问题. 以下是display:的相关属性值: table (类似 <table>)此元素会作为块级表格来显示,表格前后带有换行符. inline-table (类似 <table>)此元素会作为内联表格来显示,表格前后没有换行符. table-row-grou

&lt;display:table&gt;常用属性解释

1.官方网址:http://www.displaytag.org/1.2/displaytag/tagreference.html 2.应用举例:<display:table name="requestScope.pageList" id="curPage" class="table table-striped" sort="external"  requestURI="${resource}/test/lis

display: table; 100%的宽度

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> * { margin: 0; padding: 0; } .box1 { display: table; } .box2 { display: table-cell; border: 1px solid #000; } .box3 { width: 1

基于CSS属性display:table的表格布局的使用

项目改造中遇到DIV+CSS实现的table,新需求需要在表格使用单元格合并,网上调查返现CSS display:table实现的table表格,没有单元格的属性和样式,经过一番思考,曲折现实了单元格的合并,即采用正行嵌套一个单独的display:table的DIV,然后在嵌套的表格DIV内部通过控制行列数和行列的高度,实现单元格合并.个人建议全新实现使用<table> HTML标签即可 一.CSS display属性的表格布局相关属性的解释: table    此元素会作为块级表格来显示(类

我所知道的几种display:table-cell的应用

一.display:table-cell属性简述 display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以及其他现代浏览器都是支持此属性的,但是IE6/7只能对你说sorry了,这一事实也是大大制约了display:table-cell属性在实际项目中的应用(写于2016年8月24日:时代在变,当下,是时候登上舞台了). 我们都知道,单元格有一些比较特别的属性,例如元素的垂直居中对齐,关联伸缩等,所以display:table-cell还是有不少

display:table表格合并单元格

直接上代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/commons/include/html_doctype.html" %> <html> <head> <title>补贴项目属性管理</t

两种Data Table参数化设置的区别

首先介绍Data Table的语法: 1.DataTable.value(ParameterID, SheetID) 2.DataTable(ParameterID, SheetID) 以上2种方法的效果是一样的. 使用例子: WebEdit("关键字输入框").Set DataTable.Value("列名",“表名”) 然后比较Global Sheet和Local Sheet 1.Global Sheet:是一个全局变量,有几行数据,程序就要回放几次. 它受Da