居中问题--不再凌乱

一、水平居中

1.行内元素

如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的。

(父元素和子元素:如下面的html代码中,div是“我想要在父容器中水平居中显示”这个文本的父元素。反之这个文本是div的子元素 )

如下代码:

html代码:

1  <body>
2  <div class="txtCenter">我想要在父容器中水平居中显示。</div>
3  </body>

2.块状元素

(1).定宽块状元素

满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto”来实现居中的。

(2)不定宽块状元素

1.加入table标签:

第一步:为需要设置的居中的元素外面加入一个 table 标签 ( 包括 <tbody>、<tr>、<td> )。

第二步:为这个 table 设置“左右 margin 居中”(这个和定宽块状元素的方法一样)。 或者直接设置display:table; margin:0 auto;

2.改变块级元素的 display 为 inline 类型(设置为 行内元素 显示),然后使用 text-align:center 来实现居中效果。

3.通过给父元素设置 float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left: -50% 来实现水平居中。

二、垂直居中

1、父元素高度确定的单行文本的竖直居中

方法是通过设置父元素的 height 和 line-height 高度一致来实现的。(height: 该元素的高度,line-height: 顾名思义,行高(行间距),指在文本中,行与行之间的 基线间的距离 )。 line-height 与 font-size 的计算值之差,在 CSS 中成为“行间距”。分为两半,分别加到一个文本行内容的顶部和底部。 这种文字行高与块高一致带来了一个弊端:当文字内容的长度大于块的宽时,就有内容脱离了块。

2、父元素高度确定的多行文本、图片等的竖直居中

(1)、使用插入 table (包括tbody、tr、td)标签,同时设置 vertical-align:middle。

css 中有一个用于竖直居中的属性 vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用。

html代码:

 1 <body>
 2 <table>
 3   <tbody>
 4     <tr>
 5       <td class="wrap">
 6         <div>
 7           <p>看我是否可以居中。</p>
 8         </div>
 9       </td>
10     </tr>
11   </tbody>
12 </table>
13 </body>

css代码:

1 table td{
2     height:500px;
3     background:#ccc
4 }

因为 td 标签默认情况下就默认设置了 vertical-align 为 middle,所以我们不需要显式地设置了。

(2)、在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell(设置为表格单元显示),激活 vertical-align 属性,但注意 IE6、7 并不支持这个样式, 兼容性比较差。

时间: 2024-10-15 02:44:43

居中问题--不再凌乱的相关文章

Linux的启动过程与常见故障排除

linux的基础启动流程 1. 加载BIOS的硬件信息,并获取第一个启动设备的代号.    2. 读取第一个启动设备的MBR的引导加载程序(即lilo.grub.spfdisk等)的启动信息.    3. 加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备.    4. 核心执行init程序并获得运行信息.    5. init执行/etc/rc.d/rc.sysinit文件.    6. 启动核心的外挂模块(/etc/modprobe.conf).    7. init执行运行的各

工具管理----概括介绍

最近写了一个工具管理的小软件,可以使桌面变得不再凌乱.主要界面如下: 用到的主要知识: 1.单例模式                 2.单窗口启动                 3.任务托盘                                         4.热键                        同时按ctr + 数字键(0--9),可以快速启动对应工具箱的前10个工具.                 5.菜单以及菜单背景色和位图的加载           

Xcode 使用快捷键

编译1. cmd + b   编译但不运行 2. cmd + r   编译并直接运行 注释和提示1.cmd + /     注释和反注释 2.esc  提示功能,提示函数参数等(推荐) 界面功能1.ctrl + cmd + f 全屏和非全屏之间跳转 2.cmd + K 清空控制台 3.cmd + 1/2/3/4/5... 控制左边导航栏显示 4.ctrl+i 格式化代码(推荐) 让你的代码不再凌乱 更详细快捷键请参考:http://www.cnblogs.com/yjmyzz/archive/2

Mac装机必备 10款系统增强应用软件推荐

这两天我想了很久,装机必备到底要给大家推荐什么应用.其实不是没有值得推荐的应用,恰恰相反是太多了.权衡了一下决定还是以十为界,只挑十个最值得介绍的应用给大家. 题目取得太大容易压死人,所以觉得还是分篇来写.今天先来系统增强篇. Alfred OS X 上绝对的大杀器,配合 workflow 能极大的提升工作效率. 关于 Alfred 的介绍之前写过很多,每当身边朋友在使用过一段时间 OS X 之后我都会给他推荐.17英镑的售价确实不便宜,但一旦你上手之后你就再也离不开它了. Bartender

还记得我们折腾过的居中么?

虽然div中内容上下居中的问题已经是一个比较古老的话题,但是最近发现还是有很多前端开发者在询问如何实现.其实网络上已经有很多资料和案例了,我这里再总结一下几个比较常见的处理方式. 情形一:div限高,内容长度限一行 1 .v-align { 2 margin: 0 auto; 3 width: 200px; 4 height: 80px; 5 text-align: center; 6 line-height: 80px; 7 border: 1px solid #ddd; 8 } 1 <div

html5中不再支持的元素

html5中不再支持的元素:1.acronym(建议abbr) : 定义首字母缩写2.applet(建议object): 定义 applet3.basefont(使用css控制)4.big(使用css控制) :定义大号文本5.center(使用css控制): 定义居中的文本6.font(使用css控制)7.strike(使用del) :定义加删除线的文本8.tt(使用css控制): 定义打字机文本.9.u(使用css控制) :定义下划线文本10.frame(建议iframe): 定义子窗口(框架

文字居中

在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<span>这样的元素是没有valign特性的,因此使用vertica

一个关于自定义alterdialog居中问题

============问题描述============ 大家好,我在android上写了个应用,自己定义了个myalterdialog继承自AlertDialog,我通过 getWindow().setLayout的方式,依照屏幕的大小,按照一定比例调节这个dialog的宽度.但是发现个奇怪的事情,就是一旦我调用getWindow().setLayout(windowMath*ratio, wrap_content)后,这个dialog窗口就不再居中了,我后来尝试使用getWidnow.set

position窗口居中

position的四个属性值: relative absolute fixed static 下面分别讲述这四个属性. <div id="parent">     <div id="sub1">sub1</div>     <div id="sub2">sub2</div></div> 1. relative relative属性相对比较简单,我们要搞清它是相对哪个对象来进行