资讯专栏INFORMATION COLUMN

CSS实现元素水平居中

szysky / 874人阅读

摘要:实现元素水平居中元素主要分为块级元素和行内元素,所以对元素进行水平居中也分这两种情况来讨论,另外块级元素的实现比较复杂,将分情况讨论。

CSS实现元素水平居中

元素主要分为块级元素和行内元素,所以对元素进行水平居中也分这两种情况来讨论,另外块级元素的实现比较复杂,将分情况讨论。

一、行内元素

常用行内元素为a/img/input/span 等,标签内的HTML文本也属于此类。对于此类情况,水平居中是通过给父元素设置 text-align:center来实现的。
HTML结构:


  
Hello World!!!

CSS样式:

二、块级元素

常用块级元素为div/table/ul/dl/form/h1/p等。根据应用场景不同又分为定宽块级与不定宽块级两种情况,分别讨论。

1.定宽块级元素

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


  
Hello World!!!

CSS样式:

2.不定宽块级元素

我们经常会遇到不定宽度块级元素的使用,如分页导航,因为分页的数目不定,所以不能用宽度限制住。此时对元素进行水平居中主要有三种方式:

加入 table 标签

设置 display;inline 方法

设置 position:relativeleft:50%;

2.1加入 table 标签

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

第二步:为这个 table 设置“左右 margin:auto”(这个和定宽块状元素的方法一样)。
HTML结构:

CSS样式:

**这种方法的缺点是增加了无语义的HTML标签,增加了嵌套深度

2.2设置 display;inline 方法

改变块级元素的 dispalyinline 类型,然后使用 text-align:center 来实现居中效果。
HTML结构:


  

CSS样式:

这种方法的缺点是将块级元素的display设置为inline,于是少了很多功能,比如盒子模型

2.3设置 position:relativeleft:50%;

通过给父元素设置 float,然后给父元素设置 position:relativeleft:50%,子元素设置 position:relativeleft:-50% 来实现水平居中。
HTML结构:


  

CSS样式:

这种方法可以保留块状元素仍以 display:block 的形式显示,优点不添加无语议表标签,不增加嵌套深度,但它的缺点是设置了 position:relative,带来了一定的副作用。

三种方式各有利弊,根据实际情况相应选用。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/49617.html

相关文章

  • 【前端】这可能是你看过最全的css居中解决方案了~

    摘要:水平居中行内元素解决方案适用元素文字,链接,及其其它或者类型元素,,部分代码文字元素链接元素链接元素链接元素部分代码解决方案将元素包裹在一个属性为的父级元素中如设置这个父级元素属性即可现在大家可以看到和中的子元素水平居中了水平居 1.水平居中:行内元素解决方案 适用元素:文字,链接,及其其它inline或者inline-*类型元素(inline-block,inline-table,i...

    csRyan 评论0 收藏0
  • 【前端】这可能是你看过最全的css居中解决方案了~

    摘要:水平居中行内元素解决方案适用元素文字,链接,及其其它或者类型元素,,部分代码文字元素链接元素链接元素链接元素部分代码解决方案将元素包裹在一个属性为的父级元素中如设置这个父级元素属性即可现在大家可以看到和中的子元素水平居中了水平居 1.水平居中:行内元素解决方案 适用元素:文字,链接,及其其它inline或者inline-*类型元素(inline-block,inline-table,i...

    Simon 评论0 收藏0
  • 如何居中一个元素(终结版)

    摘要:源代码演示利用将要水平排列的块状元素设为,然后在父级元素上设置,达到与上面的行内元素的水平居中一样的效果。 前言 本文主要介绍水平居中,垂直居中,还有水平垂直居中各种办法,思维导图如下: showImg(https://segmentfault.com/img/bVblwhg?w=1334&h=563); 如需本文的思维导图,请猛戳Github个人博客 一、水平居中 1.行内元素水平居...

    Hydrogen 评论0 收藏0
  • 如何居中一个元素(终结版)

    摘要:源代码演示利用将要水平排列的块状元素设为,然后在父级元素上设置,达到与上面的行内元素的水平居中一样的效果。 前言 本文主要介绍水平居中,垂直居中,还有水平垂直居中各种办法,思维导图如下: showImg(https://segmentfault.com/img/bVblwhg?w=1334&h=563); 如需本文的思维导图,请猛戳Github个人博客 一、水平居中 1.行内元素水平居...

    hlcc 评论0 收藏0
  • 如何居中一个元素(终结版)

    摘要:源代码演示利用将要水平排列的块状元素设为,然后在父级元素上设置,达到与上面的行内元素的水平居中一样的效果。 前言 本文主要介绍水平居中,垂直居中,还有水平垂直居中各种办法,思维导图如下: showImg(https://segmentfault.com/img/bVblwhg?w=1334&h=563); 如需本文的思维导图,请猛戳Github个人博客 一、水平居中 1.行内元素水平居...

    Meils 评论0 收藏0
  • CSS/CSS3 实现 居中水平&垂直)

    摘要:,水平居中行内元素把行内元素放在一个属性块元素中,然后设置父层元素属性居中,水平居中块状元素设置外边距,水平居中多个块状元素把块状元素属性,然后设置父层元素属性居中,水平居中多个块状元素布局实现把块状元素的父元素属性和,如下设置, 1,水平居中:行内元素 把行内元素放在一个属性块(display:block)元素中,然后设置父层元素属性居中: .test { text-align:ce...

    genedna 评论0 收藏0

发表评论

0条评论

szysky

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<