CSS:BFC,块级元素居中

1.BFC

BFC的英文全称是block formatting context,即格式化上下文,当元素触发BFC时会变成一个独立的环境。这里列举一个触发BFC的方法,在父级元素加入overflow:hidden;其适用场景有:(1)为父级找高(2)子级margin-top将父级一起往下带(3)兄弟级元素浮动后影响其他元素,将受影响的元素触发BFC变成独立环境

2.可以触发BFC的元素:

(1)根元素

(2)float

(3)overflow:auto.scroll.hidden

(4)display:flex.table-cell.table-caption.inline-block.inline-flex

(5)position:absolute.fixed.relative

3.块级元素水平垂直居中方法

(1)    未知块级元素的宽高:给父级元素设置display:flex;align-items:center(垂直居中);justify-content:center(水平居中);

(2)    已知块级元素的宽高:给父元素设置position:relative;子元素设置position:absolute;top:50%;left:50%;margin-top:-hight/2;margin-left:-width/2;

(3)    已知块级元素的宽高:给子元素设置position:absolute;top:0;right:0;bottom:0;left:0;margin:0 auto;

如果只需要水平居中,还可以给元素本身设置margin:0 auto;

原文地址:https://www.cnblogs.com/xxqd/p/12198296.html

时间: 2024-10-29 19:07:37

CSS:BFC,块级元素居中的相关文章

css实现不设置width值可以让块级元素居中

一般块级元素居中的方式为: 设置宽度width值,然后使用margin:0 auto;属性,来进行对于父级的居中显示. 但是很多情况下,我们想让元素可以进行自动延伸,不想设置width值. 不设置width值让元素居中的方法: 结构如下: <div class="father"> <div class="center"> </div> </div> css代码如下: .father{ text-align: cente

怎么让一个块级元素居中

在css中让块级元素居中的方法有很多种,我先记录第一种方法,具体步骤如下: (1)给父元素添加绝对定位relative,如果不添加定位,那么块级子元素会在body中垂直居中 position: relative; (2)给子元素添加相对定位absolute,并且让子元素距离父元素左边和顶部50%的距离,令left:50%;top:50%,此时子元素在父元素的位置是偏右下的 position: absolute; left: 50%; top: 50%; (3)在子元素中添加css3中的trans

CSS中块级元素水平格式化

CSS中块级元素的(width+padding+marninig+border)因该等于其包含块的width.其中margin可能为负值,其他均为正值. 如果width和margin-left和margin-right都设置为auto的话,浏览器代理会默认将margin-left和margin-right设为0,将width设为包含块的width. 如果width与margin-left.margin-right其中一个为auto,而另一个margin设为固定值的话,浏览器代理会把为auto的那

div等块级元素居中的两种方法

以下两种方法是针对宽度确定的块级元素而言的 1.设置块级元素CSS属性为: margin: 0 auto: 即左右margin设置为auto. 2.设置块级元素的display为inline(此时要求块级元素包含内容,否则由于内联元素的高度设置不起作用,相当于高度为零,块级元素就无法被看到)或者inline-block. 该块状元素的父级元素CSS设置: text-align:center; 此时会将该块状元素看作text进行居中处理.

浅谈css(块级元素、行级元素、盒子模型)

一.块级元素的特点 1.默认显示在父标签的左上角 2.默认占满一行(占满整个文档流) 文档流是将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流. 二.行内元素(内联元素)的特点 1.大小受到文字区域的影响,不受到width.height影响. 2.行内元素不会独自占满一行. 例: 1 <div id="d1"> 2 这是块级元素 3 </div> 4 <span id="d2"> 5 这是行内元素 6 &

行内元素和块级元素居中

内联元素 水平居中 1.行内元素居中:设置text-align:center; 2.flex布局:设置display:flex;justify-content:center; 垂直居中 父元素高度是单行文本:设置height=line-height; 父元素确定的是多行文本:a:插入table, 然后设置vertical-align:middle; b:先设置display:table-cell;然后设置vertical-align:middle; 块级元素 水平居中 1.定宽块级元素:设置左右

CSS中块级元素和行内元素

文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流. 每个非浮动块级元素都独占一行, 浮动元素则按规定浮在行的一端. 若当前行容不下, 则另起新行再浮动. 内联元素也不会独占一行. 几乎所有元素(包括块级,内联和列表元素)均可生成子行, 用于摆放子元素. 有三种情况将使得元素脱离文档流而存在,分别是浮动,绝对定位, 固定定位. 但是在IE中浮动元素也存在于文档流中(还让我觉得这样很合理><). 浮动元素不占任何正常文档流空间,而浮动元素的定位还是基于正常的文档流

深度理解CSS中块级元素与行内元素的区别(个人易错点)

区别一: 块级:块级元素会独占一行,默认情况下宽度自动填满其父元素宽度 行内:行内元素不会独占一行,相邻的行内元素会排在同一行.其宽度随内容的变化而变化. 区别二: 块级:块级元素可以设置宽高 行内:行内元素不可以设置宽高 区别三: 块级:display:block; 行内:display:inline; 可以通过修改display属性来切换块级元素和行内元素. 区别四: 块级:块级元素可以设置margin,padding 行内:行内元素水平方向的margin-left; margin-righ

css块级元素居中

<!DOCTYPE html> <html> <head> <title>index</title> </head> <body> <div class="container"> <div class="box"></div> </div> <style type="text/css"> .contain