display:table-cell的集中应用

1. display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签。我们都知道,单元格有一些比较特别的属性,例如元素的垂直居中对齐,关联伸缩等,所以display:table-cell还是有不少潜在的使用价值的

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

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

这里写图片描述

这里写图片描述

这里的实现是借助了IE默认文字空间的概念,将font-size设置得很大,目的是撑开IE下默认文字空间的高度,然后通过vertical-align:middle属性让图片与这个高高的空白空格空间垂直居中对齐

3. display:table-cell与两栏自适应布局

这里写图片描述

这里写图片描述

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

本例demo中,右侧内容足够多,所以宽度完整的撑开了,如果内容有限,则宽度就是内容的宽度,此时想要让某个元素(例如关闭按钮)右侧定位就会有问题,解决方法就是定义一个非常宽的宽度,就像上面facebook截图中的CSS属性一样,所以,考虑到各种情况,更健壮耐用的CSS代码应如下:

这里写图片描述

4. display:table-cell下的等高布局

table表格中的单元格最大的特点之一就是同一行列表元素都等高。所以,很多时候,我们需要等高布局的时候,就可以借助display:table-cell属性。说到table-cell的布局,不得不说一下“匿名表格元素创建规则”

这里写图片描述

举个例子吧,如果我们为元素使用“display:table-cell;”属性,而不将其父容器设置为“display:table-row;”属性,浏览器会默认创建出一个表格行,就好像文档中真的存在一个被声明的表格行一样

实现等高布局,毫无疑问,display:table-cell是首选,这就好比鼹鼠,生下来就是为了打洞用的。考虑到匿名创建表格元素的问题,所有table-cell元素外一定要留有一个用来包裹的标签。于是,我们有类似下面的CSS代码

这里写图片描述

这里写图片描述

5. display:table-cell下的列表布局

这里的列表布局专指横向repeat的布局,就像下图所示的

这里写图片描述

一般这类布局都是使用浮动的。但是浮动布局的不足在于:一是需要清除浮动造成影响;二是不支持不定高列表的浮动。替代浮动布局的方法是有的,如果深究细节以及一些思想,方法还不少。其中有一个方法就是使用display:table-cell

display:table-cell下的列表布局最适用的场景是:列表个数不固定,但是,无论列表几个,都平分容器空间。什么意思呢?就是如果4个列表,希望每个宽度25%,3个就33.3333%,2个列表希望每个宽度50%。此时,没有比display:table-cell更合适的技术了

父级设置display:table同时宽度为容器宽度,或者直接width:100%,此时,display:table-cell子元素就会自动等分

这里写图片描述

这里写图片描述

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于display:table的CSS布局

CSS表格能够解决所有那些我们在使用绝对定位和浮动定位进行多列布局时所遇到的问题。例如,“display:table;”的CSS声明能够让一个HTML元素和它的子节点像table元素一样。使用基于表格的CSS布局,使我们能够轻松定义一个单元格的边界、背景等样式&#xf…

ASP.NET MVC Training Kit发布了

Scott Guthrie昨天宣布了ASP.NET MVC 按照Ms-PL协议开源发布,具体内容参见ASP.NET MVC 1.0 has been released,也可以参看Scott Hanselman的新闻稿Microsoft ASP.NET MVC 1.0 is now Open Source MS-PL。 微软同时也推出了一套ASP.NET MVC frameworke培训…

JS实现滚动监听以及滑动到顶部

效果图: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><!-- <meta name"viewport" content"widthdevice-width, initial-scale1.0" /> --><meta name"viewport" …

display:table-cell自适应布局下连续单词字符换行

1. display:table-cell自适应布局 典型的双栏布局类名使用如下&#xff1a; 这种方式实现的自适应布局&#xff0c;元素宽度无需定值&#xff0c;且margin(浮动部分)与padding自由设置&#xff0c;支持百分比宽度&#xff08;table-cell内&#xff09;&#xff0c;且可以无限制…

javascript学习系列(21):数组中的reduceRight法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说…

向高手学习--第3列数据是第2列从头到当前行的值之和

From: http://topic.csdn.net/u/20111203/13/1fb6742b-205f-4bc0-bdeb-ba26a7e174aa.html?14713 问题描述&#xff1a; 我现在有一个表&#xff0c;名字为 table1, 表里有两列&#xff0c;一列是序号ID&#xff0c;一列是数量 NUM1&#xff0c;比如ID1 NUM11 202 303 504 10…

JS滚动条位置,顶部,底部,触发事件

效果图: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><meta http-equiv"X-UA-Compatible" c…

ArcGIS 10.0安装之 ArcSDE的安装

第三部分 SDE的安装、部署 1、 安装SDE程序&#xff0c;并进行注册 &#xff08;1&#xff09;选择注册机&#xff0c;点击server标签&#xff0c;在Feature下拉列表框选择arcsdeserver&#xff0c;Version下拉列表框选择100&#xff0c;点击ALL按钮&#xff0c;生成license文件…

自适应表格连续字符换行及单行溢出点点点显示

我们应该都知道使用 让连续的英文数字字符换行显示 让单行文字超出的时候使用点点点表示 但是&#xff0c;如果是自适应的表格中&#xff0c;我们要实现上面两个效果&#xff0c;可能就会遇到挫折&#xff0c;你会发现屡试不爽的方法现在完全被无视了&#xff01; 例如&#…

javascript学习系列(23):数组中的解构方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说解…

IMG图片和文字同一行显示,图片和文字居中显示

问题其实很好解决&#xff0c;只要设定img标签的vertical-align CSS属性就好了&#xff0c;代码如下&#xff1a;

CSS 相对|绝对(relative/absolute)定位系列(一)

1. 绝对定位和浮动元素是近亲&#xff1a;都具备包裹性和破坏性 包裹性&#xff1a;包裹性换种说法就是让元素inline-block化&#xff0c;例如一个div标签默认宽度是100%显示的&#xff0c;但是一旦被absolute属性缠上&#xff0c;则100%默认宽度就会变成自适应内部元素的宽度…

SharePoint 2013 List 备份使用

在测试环境新建List后经过不懈的调整&#xff0c;验证终于做出一个像模像样的表单。 这时候问题来。。。 要怎么迁移到生产环境或者正式环境呢&#xff1f; 在网上找了一些资料&#xff0c;不过都是10的。。 其实想想13跟10区别不大&#xff0c;于是顺利找到了解决方案 备份Lis…

javascript学习系列(24):数组中的substring方法

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说s…

将一个BYTE数组转换成16进制字符串和10进制字符串格式

背景&#xff1a; unsigned char port[5]; 以02x的格式打印出来是 00 00 02 00 00 1.如何转成16进制形式的字符串&#xff0c;使得char *strport16 "0000020000"; 2.如何转成10进制形式的字符串&#xff0c;使得char *strport10 "131072"; C code:…

CSS 相对|绝对(relative/absolute)定位系列(二)

1. 因为事先标准就已经在文字的后面显示&#xff0c;设置absolute之后因为跟随性仍然是在原来的文字&#xff0c;然后再设置margin实现定位即可 2. absolute正业之元素隐藏 元素隐藏与显示是我们在页面制作与交互效果实现中非常常见的&#xff0c;如果您只是使用display:none与…

javascript学习系列(25):数组中的substr

最好的种树是十年前,其次是现在。歌谣 每天一个前端小知识 提醒你改好好学习了 知乎博主 csdn博主 b站博主 放弃很容易但是坚持一定很酷 我是歌谣 喜欢就一键三连咯 你得点赞是对歌谣最大的鼓励 1前言 在我们的日常开发中 不免会有很多需要处理数据的方法 本节主要说一说s…

CSS 相对|绝对(relative/absolute)定位系列(三)

1. absolute与等高布局 拿简单的两栏布局举例&#xff0c;左栏与右栏有不同的背景色&#xff0c;且中间隔边框线分隔&#xff0c;如何实现&#xff1f;因为随着内容的不同&#xff0c;有可能左侧栏高度较高&#xff0c;也有可能是右侧栏高度较高。所以&#xff0c;要实现无缝的…

CPUID详解[增加TLB与Cache]

From: http://bbs.pediy.com/showthread.php?threadid21646 标 题:CPUID详解[增加TLB与Cache]作 者: Pr0Zel 时 间: 2006-02-21,22:00:23 链 接: http://bbs.pediy.com/showthread.php?t21646 这是文章最后一次更新,加入了TLB与Cache信息等资料前言:论坛上面有人不明白CPUID指…

2009年5月软件设计师考前预测试题及考点解析

更多试题及要点解析请参见《软件设计师考试考前冲刺预测试卷及考点解析》、《应试捷径--典型考题解析与考点贯通(系统分析师考试)》&#xff0c;不断更新中&#xff0c;敬请持续关注&#xff01;