HTML+CSS基础学习笔记(8)

时间:2021-11-26 06:34:57

一、水平居中设置——行内元素

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

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

二、水平居中设置

——定宽块状元素

#当被设置元素为块状元素时,使用text-align:center就不起作用,此时分两种情况:定宽块状元素与不定宽块状元素。

#定宽块状元素:块状元素的宽度width为固定值

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

#块级元素的居中有两个条件,1:必须有宽度,2:左右margin为auto

margin:10px 5px; 表示对象与父容器的上下距离值都是10px,与左右的距离值都是5px。
margin:0 auto; 表示上下的距离值是0,而左右就是自动适应,也就是我们常说的自动居中。
margin:auto; 表示上下左右都自动适应。

未设置前:

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

设置后

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

——不定宽块状元素

不定宽块状元素:块状元素的宽度width不固定。

不定宽度的块状元素有三种方法居中:

1、加入table标签

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

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

2、设置display:line方法:与第一种类似,显示类型设为行内元素,使用text-align:center来实现居中效果。

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

3、设置position:relative和left:50%:利用相对定位的方式,将元素向左偏移50%,即达到居中的目的。

理解:假想ul层的父层(即下面例子中的div层)中间有条平分线将ul层的父层(div层)平均分为两份,ul层的css代码是将ul层的最左端与ul层的父层(div层)的平分线对齐;而li层的css代码则是将li层的平分线与ul层的最左端(也是div层的平分线)对齐,从而实现li层的居中。

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

三、垂直居中

两种情况:父元素高度确定的单行文本,父元素高度确定的多行文本。

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

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

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

方法一:

使用插入table(包括tbody、tr、td)标签,同时设置竖直居中的属性vertical-align:middle,在父元素设置此样式时,会对inline-block类型的子元素都有用

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

方法二:

在chrom、firefox、IE8以上的浏览器可以设置块级元素的display:table-tell(设置为表格单元),激活vertical-align属性,本方法兼容性较差

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

四、隐藏改变display类型

当元素(不论之前是什么类型元素,display:none除外)设置以下两个句子之一:

1、position:absolute

2、float:left或float:right

元素的display显示类型就会自动变为以display:inline-block(块状元素)的方式显示,然后就可以设置元素的width和height,且默认宽度不占满父元素

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)

HTML+CSS基础学习笔记(8)