CSS教程:水平对齐(text-align)

所属分类: 网页制作 / CSS 阅读数: 352
收藏 0 赞 0 分享

  水平对齐(text-align),用以设定元素内文本的水平对齐方式。
  1.语法
  text-align具体参数如下:
语法:text-align:left|right|center|justify
说明:设定元素内文本的水平对齐方式。
参数:left:左对齐;right:右对齐;center:居中;justify:两端对齐
初始值:跟浏览器的设置有关
继承性:可继承
适用于:block元素

  其各参数在浏览器内的显示如图1所示。
/web/css/text/img/text-align_01.gif
图1水平对齐方式
  前三种对齐方式都很好理解,而最后一种两端对齐(text-align:justify)可以让大段的文本看起来比较整齐,不过两端对齐的表现可能会因为浏览器的不同而有所不同,如图2所示。
/web/css/text/img/text-align_02.gif
图2不同浏览器对于两端对齐的不同表现
  2.适用于:block元素
  text-align属性只有对block元素设定才会生效。例如有如下设定:
<pstyle="text-align:right;"><imgsrc="img/ddcat_anim.gif"alt="图片"style="text-align:center;"/></p>

虽然对图片设定了居中对齐,但是在浏览器内的效果如图3所示。
/web/css/text/img/text-align_03.gif
图3图片与对齐方式
  由图3读者可以看到,因为图片<img>默认为inline元素,所以即使定义了“text-align:center;”,也仍然同文字一起右对齐。因此不能直接通过对图片的设定来达到单独图片的对齐。
  如果想让单个图片达到居中的效果,应该在其外嵌套一个block元素,然后设置这个元素的对齐方式为居中对齐,如下所示:
<pstyle="text-align:center;"><imgsrc="img/ddcat_anim.gif"alt="图片"/></p>

  其效果如图4所示。
/web/css/text/img/text-align_04.gif
图4图片居中
  3.继承性
  text-align属性是可继承的。当设定了某个元素的水平对齐方式以后,其子孙元素的水平对齐方式都将继承该设定,如图5所示。
/web/css/text/img/text-align_05.gif
图5text-align的继承性
  注意:不同浏览器之间的继承略有差别。例如在Opera中,表头<th>将不继承右对齐,而依然居中对齐,除非对其专门定义。

  由于text-align属性的继承性,因此在定义时候需要特别注意,如果子孙元素不希望继承水平对齐方式,则需要再分别定义。
  4.应用:整体居中
  虽然text-align用以设定文本的水平对齐方式。但是在IE中,对齐会应用在此元素内所有的子孙元素上,例如有如下代码:
<divid="textAlign3"style="text-align:center;">
<pstyle="width:70%;">本段落会在IE内居中显示,而在Firefox和Opera内居左显示。</p>
</div>

  其在WindowsIE6.0、Firefox2.0和Opera8.5中显示的效果如图6所示。
/web/css/text/img/text-align_06.gif
图6不同浏览器的差别
  读者可以看到,<p>元素本身也居中显示了,因此可以利用此特性来设置页面内容在IE内的整体居中效果,例如有html结构如下:
<body>
<divid=”wrap”>
<h1>页面居中</h1>
<p>设置CSS使页面整体居中。</p>
</div>
</body>

  要使<divid=”wrap”>在浏览器内居中,则需要设置CSS如下:
body{
text-align:center;/*在IE内居中*/
}
#wrap{
width:90%;/*设定宽度才能显示出居中的效果。*/
margin:0auto;/*在Firefox及Opera等浏览器内居中。*/
}

  此时在浏览器内浏览,页面内的元素都将居中显示,如图7所示。
/web/css/text/img/text-align_07.gif
图7浏览器内页面整体居中
  注意:此时页面内所有的文本都继承<body>的的设定而居中显示,因此实际应用中,可以再设定wrap层的对齐方式为左对齐。
更多精彩内容其他人还在看

js 解决隐藏与显示div的相关问题

我的导航中就有一栏产品中心下面用隐藏个div然后鼠标放上去就显示出来,但是导航那一块div一直出不来,什么都没有,很是郁闷不知道是什么原因
收藏 0 赞 0 分享

关于clearBoth在GOOGLE Chrome中的问题解决方法

下面这段CSS在IE中好好的,但在GOOGLE Chrome中总是不行,我调测了无数次。问题就出在 clearBoth 这个样式上,此问题如何解决,写下来详细介绍
收藏 0 赞 0 分享

用css margin去掉横排图片之间的间距

HTM,CSS,怎样去掉横排图片之间的间距,是我们的一大头疼问题,于是本人搜集整理一下,晒出来和大家分享,希望可以帮助你们
收藏 0 赞 0 分享

关于li:hover的怎么清除浮动问题实现代码

当鼠标移动上去时,周围显示一个方框,但是后面的会向后移动,如何才能使得当鼠标移上去时后面的li不浮动
收藏 0 赞 0 分享

ie6不支持两个连续并列class类名怎么解决

在网页布局中会使用到两个连续的class,但唯独ie6不支持,很郁闷,于是搜索整理下,晒出来和大家分享
收藏 0 赞 0 分享

如何在class内写xsl标记注意事项

想要在class中写一个xsl标记,想要知道应该如何来写出正确的代码语句,请详看本文
收藏 0 赞 0 分享

ie10 css hack 条件注释等兼容方式整理

ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于IE的css hack来解决
收藏 0 赞 0 分享

IE6双倍边距 IE6浏览器会出现双倍边距解决方法

所谓的IE6双倍边距就是指当元素有float属性,又有margin属性时,在IE6下面显示的margin的值是设置值的两倍,这个问题从有css技术时就已经诞生,本文将介绍详细解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

css 网页背景图片 怎样用CSS实现大背景网页效果

在网页设计制作中经常会遇到这样的问题:用图片做背景时,由于显示器分辨率太大或者图片尺寸太小,在页面的两边或者下部了没有背景图片,使页面变的很僵硬,于是搜集整理一些,晒出来和大家分享
收藏 0 赞 0 分享

CSS字体中英文名称对照表 CSS常用中文字体英文名称对照表

在CSS文件中,我们常看到有些字体名称变成了乱码,这是由于编写者将中文字体的名字直接写成了中文,为了避免这种状况出现,在CSS文件中使用中文字体时,最好使用中文字体的英文名称,需要的朋友可以注意下
收藏 0 赞 0 分享
查看更多