div中实现居中
今天纠结了大半天的居中,把学到的先记录下来,还没完全弄清楚,发现网上原创的技术贴并不算多,大多都是相互转载。(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中实现居中的更多相关文章
- CSS DIV中表格居中显示
将div的text-align设为center,然后将table的margin设为auto,即: <div> <table style="margin:auto; widt ...
- 多行文字在一个div中上下左右居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- div中图片居中
直接上图
- css 如何使图片与文字在div中居中展示?
1.情景展示 如何将图片与文字在div中一起居中展示? HTML片段 <div style="background: #fff;padding-top: 5px;border:1p ...
- css div中内容绝对居中(多行内容)
div中的内容绝对居中(不适合IE6哦,IE6我已经不考虑了),直接看代码吧. <!DOCTYPE HTML> <html> <head> <title> ...
- div中的内容居中
要使div中的内容居中显示,不仅div要设定“text-align:centr" ,内置对象要添加margin:auto;属性才能使其在firefox等其他浏览器中也能居中.
- 设置div中的div居中显示
设置div中的div居中显示 方法一. <div class='big'> <div class='small'>box1</div> </div> s ...
- div中宽高度自适应文字换行居中问题解决
<html> <head> <meta charset="UTF-8"/> <title>div中宽高度自适应文字换行居中demo& ...
- 让div中的table居中
div 标签上写 style="text-align:center" div中的table中写 style="margin:auto;" <table ...
随机推荐
- 关于InstallShield Projects[转]
关于 InstallShield Projects: InstallShield 可以创建三种类型的项目(Project) 1.InstallScript Pr ...
- 谈.Net委托与线程——解决窗体假死
转自:http://www.cnblogs.com/smartls/archive/2011/04/08/2008981.html#2457370 引言 在之前的<创建无阻塞的异步调用> ...
- 防止SQL注入攻击,数据库操作类
如果不规避,在黑窗口里面输入内容时利用拼接语句可以对数据进行攻击 如:输入Code值 p001' union select * from Info where '1'='1 //这样可以查询到所有数据 ...
- 分布式配置管理平台 - Disconf介绍
原博客地址:http://blog.csdn.net/zhu_tianwei/article/details/47984545 Disconf专注于各种分布式系统配置管理的通用组件/通用平台,提供统一 ...
- JavaScript注意事项
var m = "false"; Boolean(m); // true而非 false ajax不能设置setRequestHeaders("Cookie", ...
- firefox插件poster的使用,发起自定义http请求
快捷键:ctrl+alt+p 在开发WEB程序的时候,经常需要模拟http请求,接收服务器响应,从而检验程序的正确性. Firefox插件poster,可以模拟各种http请求,并详细设置请求参数,比 ...
- INDEX RANG SCAN无需回表的情况
create table a3 as select * from dba_objects create index a3_idx1 on a3(owner); select owner from a3 ...
- POJ3295 Tautology(枚举)
题目链接. 分析: 最多有五个变量,所以枚举所有的真假值,从后向前借助于栈验证是否为永真式. #include <iostream> #include <cstring> #i ...
- SQL Standard Based Hive Authorization(基于SQL标准的Hive授权)
说明:该文档翻译/整理于Hive官方文档https://cwiki.apache.org/confluence/display/Hive/SQL+Standard+Based+Hive+Authori ...
- 【数学】HDU 5761 Rower Bo
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5761 题目大意: 船在(0,a),船速v1,水速v2沿x轴正向,船头始终指向(0,0),问到达(0, ...