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 ...
随机推荐
- 02_ Windows与Linux双重引导
1. Grub2引导window. ---------------------步骤1--------------------------------- vim /etc/grub.d/40_custo ...
- SQL SAVE TRANSACTION
--创建存储过程 create procedure qiantaoProc @asd nchar(10) as begin begin try begin transaction innerTrans ...
- Linq学习系列
LINQ之路系列博客导航 http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html LINQ体验系列文章导航 http://www ...
- ORA-00933 UNION 与 ORDER BY
原文:http://blog.csdn.net/lwei_998/article/details/6093807 The UNION operator returns only distinct ro ...
- 模拟DOMContentLoaded事件
window.onload事件 文档中所有图片,脚本,链接以及子框完成加载后,才会触发window.onload事件. 浏览器兼容性:All DOMContentLoaded事件 当页面中的文档树解析 ...
- C语言笔记(枚举)
关于枚举,在我以前写程序的时候,几乎是没有使用过的,只是偶尔会在一下别人写的驱动库中有看到过.今天看了朱老师的视频,准备将枚举相关的东西总结一下. 一.关于枚举,你需要知道 (1)在C语言中就是一些符 ...
- Andoird 监听开机广播和关机广播
需求:有时候,我们需要自己的程序在开机后自动运行;在关机时,记录一些信息到文件中. 一.开机广播监听Android系统启动完成后会自动发出启动完成广播(android.intent.action.BO ...
- 破解简单Mifare射频卡密钥杂记
先要了解一点大学城浴卡用的是什么卡,经查证是Mifare S50卡,也有叫ISO14443A的(协议名).本来想看看大学城浴卡有没有安全漏洞,没想到浴卡公司在安全性上几乎是蔑视我们大学生的智商,虽然被 ...
- C获取本地时间的localtime函数
最近有朋友问如下问题: #include <stdio.h>#include <stdlib.h>#include <iconv.h>#include <ti ...
- 本地存储-webStorage
webStorage 提供了一种方式让网站能够把信息存储到你本地的计算机上,并在以后需要的时候进行获取.这个概念和cookie相似,区别是它是为了更大容量存储设计的.Cookie的大小是受限的,并且每 ...