资讯专栏INFORMATION COLUMN

CSS居中那些事

dingding199389 / 1697人阅读

摘要:定宽块状元素满足定宽和块状两个条件的元素是可以通过设置左右值为来实现居中的。设置方法改变块级元素的为类型设置为行内元素显示,然后使用来实现居中效果。

做前端这一年多来,其实一直都是偏向于js前后端,css什么的总是抱着够用就好的心态,从来没有系统的学习或总结过,结果现在的水平也一直停留在够用的阶段。感觉作为一名合格的前端工程师,不能让css成为自己的短板,于是简单的总结一下,高手绕路。

水平居中

我们在实际工作中常会遇到需要设置水平居中的场景,比如为了美观,文章的标题一般都是水平居中显示的。
这里我们又得分两种情况:行内元素 还是 块状元素 ,块状元素里面又分为定宽块状元素,以及不定宽块状元素。

行内元素

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

块状元素

当被设置元素为 块状元素 时用text-align:center就不起作用了,这时也分两种情况:定宽块状元素和不定宽块状元素。

定宽块状元素

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

div{
    width:200px;/*定宽*/
    margin:20px auto;/* margin-left 与 margin-right 设置为 auto */
}
不定宽块状元素

在实际工作中我们会遇到需要为“不定宽度的块状元素”设置居中,比如网页上的分页导航,因为分页的数量是不确定的,所以我们不能通过设置宽度来限制它的弹性。

不定宽度的块状元素有三种方法居中(这三种方法目前使用的都很多):

1. 加入table标签包裹或使用disable:table-cell

为什么选择方法一加入table标签? 是利用table标签的长度自适应性---即不定义其长度也不默认父元素body的长度(table其长度根据其内文本长度决定),因此可以看做一个定宽度块元素,然后再利用定宽度块状居中的margin的方法,使其水平居中。

2. 设置display: inline方法

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

与第一种类似,显示类型设为行内元素,进行不定宽元素的属性设置。

3. 使用left:50%配合transform: translateX(-50%)

这个就好说啦,子元素相对父元素向右偏移父元素的50%,然后在相对于自身向左偏移自身的50%,完事。

垂直居中

我们在实际工作中也会遇到需要设置垂直居中的场景,比如好多报纸的文章标题在左右一侧时,常常会设置为垂直居中,为了用户体验性好。

这里我们又得分两种情况:父元素高度确定的单行文本,以及父元素高度确定的多行文本。

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

父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 heightline-height 高度一致来实现的。(height: 该元素的高度,line-height: 顾名思义,行高(行间距),指在文本中,行与行之间的 基线间的距离 )。

line-heightfont-size 的计算值之差,在 CSS 中成为“行间距”。分为两半,分别加到一个文本行内容的顶部和底部。

这种文字行高与块高一致带来了一个弊端:当文字内容的长度大于块的宽时,就有内容脱离了块。

父元素高度确定的多行文本 1. 利用display: table-cellvertical-align: middle

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

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

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

相关文章

  • css居中那些

    摘要:一垂直居中适用于单行文本居中多对象的垂直居中技巧立马来看实际完成的精美相册效果效果吧別忘了拖拉一下窗口看看效果喔负值立马来看实际完成的精美相册效果效果吧別忘了拖拉一下窗口看看效果喔立马来看实际完成的精美相册效一、css垂直居中 1.line-height(适用于单行文本居中) eg: html:123- css: .wordp{width:100px;line-heig...

    番茄西红柿 评论0 收藏0
  • 关于CSS那些

    摘要:关于背景图片的那些小技巧背景图片太大没办法居中显示怎么办想完整显示图片如何按比例缩放想要在页面上显示两个空格,应该怎么写代码在代码里写才行。 CSS简介 想要制作出好看又高大上的网页,除了编写好HTML文件外,CSS的编写也必不可少。CSS的英文全称是Cascading Style Sheets,即层叠样式表。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格...

    smallStone 评论0 收藏0
  • css基础—字体那些

    摘要:因为网页中可能存在中英文,中英文的字体样式不同。要首先写英文字体,在写中文字体。上下移动目前可以使用文本修饰下划线删除线上划线无字间距词间距字间距词间距和共同使用强制换行由于中文会强制换行,但是因为英文和数字不会强制换行。 css基础—字体那些事 1. 首先讲字的大小样式等 字体大小 font-size: 40px; 文字字体 font-family: 宋体,Arial; 文字样式...

    Youngs 评论0 收藏0
  • css基础—字体那些

    摘要:因为网页中可能存在中英文,中英文的字体样式不同。要首先写英文字体,在写中文字体。上下移动目前可以使用文本修饰下划线删除线上划线无字间距词间距字间距词间距和共同使用强制换行由于中文会强制换行,但是因为英文和数字不会强制换行。 css基础—字体那些事 1. 首先讲字的大小样式等 字体大小 font-size: 40px; 文字字体 font-family: 宋体,Arial; 文字样式...

    pkhope 评论0 收藏0

发表评论

0条评论

dingding199389

|高级讲师

TA的文章

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