今天纠结了大半天的居中,把学到的先记录下来,还没完全弄清楚,发现网上原创的技术贴并不算多,大多都是相互转载。(ps.先安利一个大神的帖集,昨天才发现的,内容丰富,语言,呃...很幽默,一般都是图文并茂,看了你就懂了=。=(http://www.zhangxinxu.com/))

首先要实现的是文字居中,原本以为用text-align: center;vertical-align: middle;就可以实现,然而并不能。根据《css权威指南》因为vertical-align应用于行内元素和表单元格,无继承性,用百分数来表示值的时候是相对于元素的line-height值,应用到表单元格时,只能识别baseline、top、middle和bottom等值。所以vertical-align没法影响div这样的块级元素中的内容垂直方向的对齐。还是先贴我凌乱的代码~

方法1:也是最简单的方法,设置line-height和标签盒子的高度一致。

之原本以为line-height就是在p里设置行高用一下,原来还有这样的用处。补充一下关于line-height的继承性,其百分数相较于字体的大小,而且是父元素的字体大小。

结果就是在段落中会显示10px的行高和18px的字体,肯定不和谐啦,一般情况下行高要是字体的1.2倍。方法就是利用缩放因子,即将line-height:1.2,当制定一个数时缩放因子将是继承值而不是计算值,简单地说子元素会根据自己的字体大小来计算行高。(18px ×1.2)

方法二:设置padding,这个要算,不方便。

方法三:模拟表格。

其实是增加了一个div标签,外层div设置display:table;内层div设置display:table-cell,然后就可以利用vertical-align:middle。(有人说display:table-cell是布局神器,虽然ie6和ie7不支持,也才第一次接触,先埋个草)

至于图片居中对齐也可利用display:table-cell和文字大小来实现。或者将img放置在a标签中,给<a>设置display:inline-block同时结合font-size来实现。原理还不清,主要是不知道font-size到底应该设置为多大,才能使图片居中呢?利用table-cell时,整个外边框向左边移动了,似乎是影响了margin:5px;的设置。利用图里面代码的数值勉强可以实现居中,就自己试出来的。这问题先留着。(献上小新的小白~)

    

div中实现居中的更多相关文章

  1. CSS DIV中表格居中显示

    将div的text-align设为center,然后将table的margin设为auto,即: <div> <table style="margin:auto; widt ...

  2. 多行文字在一个div中上下左右居中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. div中图片居中

    直接上图

  4. css 如何使图片与文字在div中居中展示?

      1.情景展示 如何将图片与文字在div中一起居中展示? HTML片段 <div style="background: #fff;padding-top: 5px;border:1p ...

  5. css div中内容绝对居中(多行内容)

    div中的内容绝对居中(不适合IE6哦,IE6我已经不考虑了),直接看代码吧. <!DOCTYPE HTML> <html> <head> <title> ...

  6. div中的内容居中

    要使div中的内容居中显示,不仅div要设定“text-align:centr"  ,内置对象要添加margin:auto;属性才能使其在firefox等其他浏览器中也能居中.

  7. 设置div中的div居中显示

    设置div中的div居中显示 方法一. <div class='big'> <div class='small'>box1</div> </div> s ...

  8. div中宽高度自适应文字换行居中问题解决

    <html> <head> <meta charset="UTF-8"/> <title>div中宽高度自适应文字换行居中demo& ...

  9. 让div中的table居中

    div 标签上写  style="text-align:center" div中的table中写 style="margin:auto;"  <table ...

随机推荐

  1. [转自已]Windos多个文件快速重命名说明+图解

    转自己以前的文章,给新博客带点气氛. 1.(复制的)比如在文件夹中包含yin.jpg.ye.jpg.zou.jpg三个文件,你希望将它们命名为"photo+数字"的文件名形式,那么 ...

  2. Activiti 工作流得到最后一次批注的时间

    我们有时候在工作流开发中可能会遇到这样的需求,就是已经审批结束的流程,可能我们还是仍然需要修改业务表的结果,而且我们需要一个时间期限,比如:在5天内可以进行修改 ,这个时候我们就需要得到我们最后一步审 ...

  3. jQuery简单导航示例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. ExtJS 4 组件详解

    ExtJS 4 的应用界面是由很多小部件组合而成的,这些小部件被称作"组件(Component)",所有组件都是Ext.Component的子类,Ext.Component提供了生 ...

  5. 关于.net的概念

    IIS不仅仅是asp.net还有php等 所以w3wp是基本单元. 然后Managed Code加载 AppDomain, 不管是桌面程序还是asp.net程序 System.Web(HttpRunt ...

  6. js方法在iframe父子窗口

    http://developer.51cto.com/art/201009/228891.htm http://developer.51cto.com/art/201009/228891.htm ht ...

  7. 来晚了--SALTSTACK要弄起

    PUPPET就算了,我多少都有PYTHON基础,还是专SALTSTACK吧. 今天小玩玩,以后深入.

  8. 怎么给qt程序添加版本信息

    windows下的可执行文件的属性中有版本这个信息,她含有版本信息,描述,版权等等.对于qt的程序,要含有这样的信息,该怎么办呢?那就如下操作吧:新建***.rc文件,在rc文件填入下的信息 #if ...

  9. EntityFramework 插件之EntityFramework.Extended (批量处理)

    接手了一个用EF来做的项目,由于项目中使用的原生处理,导致很多update都是采用先select 后 update的方式来实现,同时无法批量执行逻辑如:根据订单类型统一更新状态等.所以在经过了N多查找 ...

  10. [项目构建 十三]babasport Nginx负载均衡的详细配置及使用案例详解.

    在这里再次说明下, 这个项目是从网上 找到的一套学习资料, 自己在 空闲时间学习了这些东西. 这里面的code当然会有很多不完善的地方, 但是确实也能学到很多新东西.感谢看过这一些列博文和评论的小伙伴 ...