首页 web前端 html教程 html中居中设置方法介绍(代码)

html中居中设置方法介绍(代码)

Sep 01, 2018 am 10:49 AM
html 居中

本篇文章给大家带来的内容是关于html中居中设置方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

水平居中

实际开发过程中我们会遇到很多需要元素水平居中的情况,例如文章标题等。这里常见的水平居中情况有行内元素和块级元素两种,块级元素又分为定宽块级元素和不定宽块级元素两种情况。定宽块级元素顾名思义就是块级元素的width是个固定的值;那么不定宽块级元素我们就知道是块级元素的width不是个定值的情况。

行内元素

当被设置的元素是文本、图片等行内元素的时候,我们是通过给父元素设置 text-align:center 来实现的。

<body>
    <div class="textCenter">这是一个在父元素中居中元素</div>
</body>
<style>
    textCenter{
    text-align:center;
    }
</style>
登录后复制

由上述代码可知"这是一个在父元素中的居中元素"这段文字的父元素的CSS样式增加了 text-align:center;属性,所以文本展示居中。但是当被设置元素为块级元素时候这种方式就不太适用了,块级元素的情况又分为定宽块级元素和不定宽块级元素两种。

定宽块级元素

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

<body>
    <div>水平居中的定宽块级元素</div>
</body>
<style>
    div{
        border:1px solid blue;
        width:100px;    /*宽度设置固定值*/
        margin:10px auto;
    }
</style>
/*或者也可以写成 margin-left:auto;
               margin-right:auto;*/
/* 元素的上下margin属性可以照常设置,不受影响 */
登录后复制

不定宽块级元素

不定宽块级元素的居中方法有三种:第一种是加入table标签;第二种是设置display:inline方法,与第一种类似,显示类型设为行内元素,进行不定宽元素的属性设置;第三种方法是设置position:relative和left:50%,利用相对定位的方式,将元素向左偏移50%用以实现居中的目的。

加入table标签

加入table标签是利用table标签的长度自适应性(不定义其长度也不默认父元素body的长度,table长度是根据内文本长度决定的),因此可以看作一个定宽块级元素,然后再利用定宽块级元素居中的margin方式使其水平居中。

使用的方式第一步为需要设置居中的元素外面加一个table标签,然后为这个table设置"左右margin居中"

<div>
    <table>
        <tbody>
            <tr><td>
            <ul>
                <li>锄禾日当午</li>
                <li>汗滴禾下土</li>
                <li>谁知盘中餐</li>
                <li>粒粒皆辛苦</li>
            </ul>
            </td></tr>
        </tbody>
    </table>
</div>
<style>
    table{
    border:1px solid;
    margin:0 auto;
    }
</style>
登录后复制

设置display:inline方法

改变块级元素的display为inline类型,设置为行内元素显示,然后使用 text-align:center来实现居中显示。这种方法相较于设置table方式的优势是不用增加无语义标签,但是这种方式也存在一定的问题,就是它将块状元素的display改为inline,元素变为行内元素后会少了一些功能使用。

<body>
    <div class="container">
        <ul>
            <li><a href="#">First</a></li>
            <li><a href="#">Second</a></li>
            <li><a href="#">Third</a></li>
        </ul>
    </div>
</body>
 
<style>
.container{
    text_align:center;
}
.container ul{
    list-style:none;
    margin:0;
    padding:0;
    display:inline;
}
 
.container li{
margin-right:10px;
display:inline;
}
</style>
登录后复制

设置position:relative和left:50%

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

<body>
<div class="container">
    <ul>
        <li><a href=""#>First</a></li>
        <li><a href=""#>Second</a></li>
        <li><a href=""#>Third</a></li>
        <li><a href=""#>Fourth</a></li>
    </ul>
</div>
</body>
 
<style>
.container{
    float:left;
    position:relative;
    left:50%;
}
 
.container ul{
    list-style:none;
    margin:0;
    padding:0;
 
    position:relative;
    left:-50%
}
 
.container li{
    float:left;
    display:inline;
    margin-right:8px
}
</style>
登录后复制

垂直居中

垂直居中分为两种情况分别是父元素高度确定的单行文本和父元素高度确定的多行文本。

父元素高度确定的单行文本

父元素高度确定的单行文本竖直居中的方法是通过 设置父元素的height和line-height高度一致来实现的。height是该元素的高度,line-height是行高,也就是行间距,是行与行之间的基线间的距离。line-height与font-size的计算值之差分为两半(在CSS中称为"行间距"),分别加到一个文本行内容的顶部和底部。可以包含这些内容的最小框就是行框。这种文字行高与块高一致带来了一个弊端,就是当文字内容的长度大于块的宽度的时候,就会有内容脱离了块。

<div class="container">
    hello,world!
</div>
 
<style>
.container{
    height:10px;
    line-height:10px;
}
</style>
登录后复制

父元素高度确定的多行文本

父元素高度确定的多行文本、图片等竖直居中有两种方式,第一种是插入table标签,然后设置vertical-align:middle。CSS中有一个用于竖直居中的属性vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用。

/* 方式一 */
<body>
<table><tbody><tr><td class="wrap">
<div>
    <p>居中一下</p>
</div>
</td></tr></tbody></table>
</body>
 
<style>
table td{
    height:500px;
    background:#ccc;
}
</style>
 
/* 方式二 */
<div class="container">
    <div>
        <p>居中一下下</p>
        <p>居中一下下</p>
        <p>居中一下下</p>
        <p>居中一下下</p>
        <p>居中一下下</p>
    </div>
</div>
<style>
.container{
    height:300px;
    background:#ccc;
    display:table-cell;/*IE8以上及Chrome、Firefox*/
    vertical-align:middle;/*IE8以上及Chrome、Firefox*/
}
</style>
登录后复制

在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell,激活 vertical-align 属性,但注意 IE6、7 并不支持这个样式。

隐性改变display类型

在我们开发过程中当为元素设置 position:absolute 或者 float:left 属性的时候,元素的显示类型就会自动变为以display:inline_block (块级元素)的方式显示,可以设置元素的width和height。

<div class="container">
    <a href="#" title="">点这里看看</a>
</div>
<style>
.container a{
    position;absolute;
    width:200px;
    background:#ccc;
}
</style>
登录后复制

相关推荐:

css html元素居中与html元素内容居中的区别

html的元素水平垂直居中应该怎么设置

以上是html中居中设置方法介绍(代码)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

HTML 中的表格边框 HTML 中的表格边框 Sep 04, 2024 pm 04:49 PM

HTML 表格边框指南。在这里,我们以 HTML 中的表格边框为例,讨论定义表格边框的多种方法。

HTML 中的嵌套表 HTML 中的嵌套表 Sep 04, 2024 pm 04:49 PM

这是 HTML 中嵌套表的指南。这里我们讨论如何在表中创建表以及相应的示例。

HTML 左边距 HTML 左边距 Sep 04, 2024 pm 04:48 PM

HTML 左边距指南。在这里,我们讨论 HTML margin-left 的简要概述及其示例及其代码实现。

HTML 表格布局 HTML 表格布局 Sep 04, 2024 pm 04:54 PM

HTML 表格布局指南。在这里,我们详细讨论 HTML 表格布局的值以及示例和输出。

HTML 输入占位符 HTML 输入占位符 Sep 04, 2024 pm 04:54 PM

HTML 输入占位符指南。在这里,我们讨论 HTML 输入占位符的示例以及代码和输出。

HTML 有序列表 HTML 有序列表 Sep 04, 2024 pm 04:43 PM

HTML 有序列表指南。在这里我们还分别讨论了 HTML 有序列表和类型的介绍以及它们的示例

在 HTML 中移动文本 在 HTML 中移动文本 Sep 04, 2024 pm 04:45 PM

HTML 中的文本移动指南。在这里我们讨论一下marquee标签如何使用语法和实现示例。

HTML onclick 按钮 HTML onclick 按钮 Sep 04, 2024 pm 04:49 PM

HTML onclick 按钮指南。这里我们分别讨论它们的介绍、工作原理、示例以及各个事件中的onclick事件。

See all articles