定义文本对齐

课后整理 2021-1-7

示例】下面示例演示如何设置块元素居中显示。text-align属性只能够设计文本的水平对齐问题,而对于块状元素的水平对齐还需要使用CSS的margin属性。在标准化设计中,如果当块状元素左右边界都被设置为自动时,则块状元素将居中显示。

新建一个网页,保存为test1.html,在<head>标签内添加<style type="text/css">标签,定义一个内部样式表,然后输入下面样式,定义盒子对象居中显示。

#box {/* 块状元素居中对齐 */
    margin-left:auto;                             /* 左侧边界为自动 */
    margin-right:auto;                            /* 右侧边界为自动 */
    width:300px;                                /* 定义盒子的宽度 */
    height:50px;                                 /* 定义盒子的高度 */
    background:red;                              /* 红色背景色 */}

为了方便观察块状元素居中显示的效果,在上面样式中定义盒子固定宽度和高度,并以红色背景显示。

然后在<body>标签中输入<div>标签,并定义该盒子的ID值为box。

<div  id="box"></div>

在标准浏览器中预览,则显示效果如图1所示。

拓展】

由于不同浏览器及其不同版本对于CSS支持的不同,上述效果在IE6及其以下版本浏览器不支持这种块状元素居中对齐的方式,如图2所示。不过IE浏览器使用text-align属性都可以设置块元素水平对齐。

图1  IE 10中的解析效果

图2  IE 5.5中的解析效果

因此,为了兼容IE浏览器,可以添加text-align属性声明,以实现浏览器的兼容显示。针对上面示例,使用如下的兼容样式表。

<style  type="text/css">
body {/* 页面居中显示 */
        text-align:center;                                 /* 居中显示 */}
#box {/* 块状元素居中对齐 */
    margin-left:auto;                                  /* 左侧边界为自动 */
    margin-right:auto;                              /* 右侧边界为自动 */
    text-align:left;                                    /* 恢复文本左对齐默认样式 */
    width:300px;                                  /* 定义盒子的宽度 */
    height:50px;                                         /* 定义盒子的高度 */
    background:red;                                      /* 红色背景色 */}
</style>

在使用上述兼容技巧时,应该注意两个问题:

<span>
    <div id="box"></div>
</span>

因为span元素默认为行内元素,它不具有布局特性,不过它也算作包含框,进一步说就是行内包含容器。