;淡紫色是子级,相对于父级居中的。...行内块级元素垂直居中 若元素是行内块级元素, 基本思想是子元素使用display: inline-block, vertical-align: middle;并让父元素行高等同于高度。...实现CSS代码如下: .parent { /* 为父级容器设置行高 */ line-height: 500px; } .child { /* 将子级元素设置为 inline-block 元素...行内块级水平垂直居中方案 步骤如下: 容器元素行高等于容器高度 通过 text-align: center; 实现水平居中 将子级元素设置为水平块级元素 通过 vertical-align: middle...右列容器开启右浮动 使中间自适应的宽度为父级容器减去两个定宽的列 实现CSS代码如下: .left { /* 1.
弹性盒子模型 display:flex 给父级设置一个display:flex属性,子元素设置flex相关属性才可以自动分配宽高。...占据超出父级容器的宽度的百分比。如果所有的子元素的宽度相加没有超过父级的在宽度,则次属性无效。...flex属性是以上三者的集合,一般设置为flex:1 其他属性,设置给父级元素 flex-wrap:wrap;子元素在必要的时候换行显示。...各行两两紧靠住同时在弹性盒容器中居中对齐,保持弹性盒容器的侧轴起始内容边界和第一行之间的距离与该容器的侧轴结束内容边界与第最后一行之间的距离相等。...该行的子元素将相互对齐并在行中居中对齐,同时第一个元素与行的主起始位置的边距等同与最后一个元素与行的主结束位置的边距(如果剩余空间是负数,则保持两端相等长度的溢出)。
,将这些项目安排在一行或一列中。...可以将LayoutGroup容器作为子容器添加到LayoutControl。LayoutGroup容器允许您将其项目并排(垂直或水平)或作为选项卡进行排列。...可以将项目与其父控件的任何边缘对齐、居中或拉伸。当父项的大小更改时,该项将相应地调整其位置。有关详细信息,请参见在LayoutGroup和LayoutControl对象中对齐项目。...它表示一个容器控件,可以并排(在一行或一列中)或以选项卡的形式显示其子控件。您可以使用LayoutGroup。...Items排布 在LayoutControl中将LayoutGroups用作子级可以实现复合布局。
计算规则: 子元素和父元素上边界重叠,并且以子元素的 margin-top 作为父元素的 margin-top 整体移动。...IFC 中是不可能有块级元素的,当插入块级元素时(如 p 中插入 div)会产生两个匿名块与 div 分隔开,即产生两个 IFC,每个 IFC 对外表现为块级元素,与 div 垂直排列。...垂直居中:创建一个 IFC,用其中一个元素撑开父元素的高度,然后设置其 vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。...rows)和网格定义列(grid definition columns)属性各在网格项目(grid item)上定义网格行(grid row)和网格列(grid columns)为每一个网格项目(grid...设置为 flex 的容器被渲染为一个块级元素,而设置为 inline-flex 的容器则渲染为一个行内元素。 伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。
定义一个容器 要开始使用网格系统,你需要定义一个容器div或父级div,将所有子元素包裹在其中,如下所示: 2 3 4 当我们在CSS中将父级...div的display属性设置为grid或inline-grid时,父级div将成为一个网格容器。...,例如justify-content和align-items,来将子元素居中在容器div内。...在这种情况下,你可以使用分数(fractions)作为grid-template-columns属性的值。分数用于将网格布局分割成列或行。
常用 css 布局学习整理 一、垂直居中 二、等分布局 三、等高布局 四、多列布局 五、局中布局(垂直居中) 六、全屏布局 七、三列布局 八、圣杯布局 九、双飞翼布局 十、水平居中 十一、css 布局特别整理...有父容器和子容器,实现子容器在父容器中的居中效果 布局效果: 二、等分布局 实现一行元素,在等高,等宽的情况下,在游览器汇总均匀排布 布局效果 三、等高布局 两列在同一级的 div 元素,实现等高等宽效果...布局效果 四、多列布局 多列布局实现 (等宽,非等宽,有间隙) 布局效果 自适应的效果不方便展示,可以在代码中查看 五、局中布局(垂直居中) 两个 div 元素,小盒子在 大盒子上下,左右都在中间...+ item + right (left = right) 布局效果 十、水平居中 元素在水平内部居中效果实现 布局效果 十一、css 布局特别整理 11.1 快速制作一行底部导航栏 html div> css .page { height: 40px; margin-top: 10px; text-align: center; } .page a { /* 内联元素 和 块级元素的特性都有
让子元素在父容器中间显示 space-between 项目位于各行之间留有空白的容器内。...相当于给每个盒子添加了左右margin外边距 4、align-items调整侧轴对齐(垂直对齐) 子盒子如何在父盒子里面垂直对齐(单行) 值 描述 白话文 stretch 默认值。...项目被拉伸以适应容器。 让子元素的高度拉伸适用父容器(子元素不给高度的前提下) center 项目位于容器的中心。 垂直居中 flex-start 项目位于容器的开头。...垂直对齐结束位置 底对齐 5、flex-wrap控制是否换行 当我们子盒子内容宽度多于父盒子的时候如何处理 值 描述 nowrap 默认值。规定灵活的项目不拆行或不拆列。...不换行,则 收缩(压缩) 显示 强制一行内显示 wrap 规定灵活的项目在必要的时候拆行或拆列。 wrap-reverse 规定灵活的项目在必要的时候拆行或拆列,但是以相反的顺序。
行内块级元素垂直居中 若元素是行内块级元素, 基本思想是子元素使用display: inline-block, vertical-align: middle;并让父元素行高等同于高度。...{ background-color: #ff8787; height: 500px; width: 1000px; margin: 0 auto; /* 为父级容器设置行高...行内块级水平垂直居中方案 步骤如下: (1). 容器元素行高等于容器高度; (2). 通过 text-align: center; 实现水平居中; (3). 将子级元素设置为水平块级元素; (4)....左列容器开启左浮动; (3). 右列容器开启右浮动; (4). 使中间自适应的宽度为父级容器减去两个定宽的列。...左右两列脱离文档流,并通过偏移的方式到达自己的区域; (2). 使中间自适应的宽度为父级容器减去两个定宽的列; (3). 通过外边距将容器往内缩小。
IFC中时不可能有块级元素的,当插入块级元素时(如p中插入div)会产生两个匿名块与div分隔开,即产生两个IFC,每个IFC对外表现为块级元素,与div垂直排列。...垂直居中:创建一个IFC,用其中一个元素撑开父元素的高度,然后设置其vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。...(grid container)上定义网格定义行(grid definition rows)和网格定义列(grid definition columns)属性各在网格项目(grid item)上定义网格行...设置为 flex 的容器被渲染为一个块级元素,而设置为 inline-flex 的容器则渲染为一个行内元素。伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。...多栏布局(column-*) 在 Flexbox 中也是失效的,就是说我们不能使用多栏布局在Flexbox 排列其下的子元素Flexbox 下的子元素不会继承父级容器的宽
一、CSS特性 1.继承:子元素继承父元素的某些样式(因为有些元素有默认值,所以它们就不用继承父元素的)。 ...语法:父元素 子元素{属性:值},如:table td{color:blue;} 4.选择符分组(集体控制):将同样的样式定义用于多个选择符,选择符之间用逗号隔开。 ...6.组合选择符:将以上选择符进行组合使用,如:h1.waring,h2#contect{属性:值}。 三、CSS优先权 就近原则:作用范围越小,优先级越高,离修饰目标越近,优先级越高。 ...[5]:CSS常见布局方式:一行一列居中、一行两列居中、两行两列、三行两列、三行三列. [6]:当父元素没有指定高度并且子元素有浮动时,这个父元素的高度不会自动增加....[7]:在给盒子的父盒子加居中时,一定要有宽度才能使得父盒子居中.
常见块级元素、行内元素、行内块元素的特点和区别 块级元素 (常见的块级元素div,p,h,form,li) 一行显示一个; 宽度默认为容器的100%; 可以设置高度宽度内外边距 块级元素可以包含其他的块级元素和文本...(如div下可包含div) 行内元素(常见的行内元素a,span.img) 一行显示多个 宽度为内容的宽度 不可以设置高度和宽度 标签内一般不包含标签(如a标签内包含a标签) 行内块元素 行内块元素包含块级元素和行内元素的特征...绝对定位(子绝父相) 这里是父容器 这里是子容器 .father {...px和em的区别是什么 px和em都是长度单位,两者的区别是:px的值是固定的,指定为多少就是多少,计算比较容易;em的值不是固定的,是相对于容器字体的大小,并且em会继承父级元素的字体大小。...不定高:父:flex,子:margin:auto,0 不定高:父:flex,align-items: center 水平垂直居中 子元素为块级元素:父:flex,子:margin:auto
absolute; top:50%; /*父元素高度50%*/ margin-top: -150px; /*自身高度一半*/ } 未知高度的块级父子元素居中,模拟表格布局 缺点:IE67不兼容...px 相对于显示器屏幕分辨率,无法用浏览器字体放大功能 em 值并不是固定的,会继承父级的字体大小: em = 像素值 / 父级font-size 解释下什么是浮动和它的工作原理?...非IE浏览器下,容器不设高度且子元素浮动时,容器高度不能被内容撑开。 此时,内容会溢出到容器外面而影响布局。这种现象被称为浮动(溢出)。...line-height 指一行字的高度,包含了字间距,实际上是下一行基线到上一行基线距离 如果一个标签没有定义 height 属性,那么其最终表现的高度是由 line-height 决定的 一个容器没有设置高度...例如,父级行高为 1.5,子元素字体为 18px,则子元素行高为 1.5 * 18 = 27px 百分比:将计算后的值传递给后代 设置元素浮动后,该元素的 display 值会如何变化?
BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。 计算BFC的高度时,浮动元素也参与计算。...应用场景 水平居中:当一个块要在环境中水平居中时,设置其为 inline-block 则会在外层产生 IFC,通过设置父容器 text-align:center 则可以使其水平居中。...垂直居中:创建一个IFC,用其中一个元素撑开父元素的高度,然后设置其 vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。...布局规则 设置为 flex 的容器被渲染为一个块级元素 设置为 inline-flex 的容器则渲染为一个行内元素 弹性容器中的每一个子元素都是一个弹性项目。弹性项目可以是任意数量的。...item)上定义网格行(grid row)和网格列(grid columns)为每一个网格项目(grid item)定义位置和空间。
2.给一个固定宽高的块级元素左右margin-left,margin-right设置auto可以实现该元素在其父容器里面水平左右居中,反之设置竖直方向的margin则竖直方向居中。...3.父容器开启flex布局,子容器margin:auto;也可以设置设置子容器居中。 塌陷问题 margin上下方向异常俗称“塌陷” float引起的父容器“塌陷”问题,而自己本身不会塌陷。...解决方法见文章下方浮动解析,如设置父元素清除浮动 设置float浮动后的元素不会出现内部子元素上下margin合并问题,也可以清除第一个子元素上边距和最后一个子元素下边距被父元素剥夺问题 内容溢出问题...不设置宽高,则充满父容器。 transform: translateX(-50%);平移的居中方式,不用设置宽高。...格式:display: flex; 写在父级元素(容器)里 容器属性 1. flex-direction: 主轴方向 2. flex-wrap: 主轴一行满了换行 3. flex-flow: 1和2的组合
行和列 单元格 网格线 属性 父容器属性 display 属性 grid-template-columns 属性,grid-template-rows...行和列 整个grid页面布局是由行和列构成的,在使用grid布局时,需要单独设计行和列。 ...属性 父容器属性 display 属性 只对直接子元素有效。...除了设置绝对值之外,也能设置百分比数(根据父级大小的百分比)等。...grid-template-columns: repeat(3, 33.33%); grid-template-rows: repeat(3, 33.33%); /* auto-fill 表示自动填充 可以最大限度的填满 父级容器
父元素的这个属性对它下面的子元素也起作用,比如一个div设置了text-align居中,则它内部的文字可以居中,它的子div内部的文字也可以居中。...但是子元素中文字的居中,是在子div中居中,而不是对于父div居中。也就是,它里面所有的文字,都会相对于最靠近自己的一层div来实现居中。所以,这个属性不能用于div在父div中的整体居中。...一般情况下,可以设置margin:0 auto;这会使这个块级元素在它的父级元素中居中,上下左右都会居中。 ...只要具有行内元素的特性的元素使用这个属性,对它的子元素中的文字和图片也是起作用的。但是作用效果为使得文字或者图片相对于紧靠着它们的父元素来进行居中。这个和text-align上面说过的部分是类似的。...7 块级元素自身的垂直居中 设置块级元素自身在父元素中的垂直居中,可以参照块级元素的水平居中的方法(上面说过),设置外边距即可。如果不想设置水平居中,只要设置上下外边距为auto就好。
margin: 0 auto;} 测试1.3 absolute + transform优点:父元素是否脱离文档流不影响子元素水平居中效果缺点...垂直居中布局2.1 table-cell + vertical-align优点:浏览器兼容性好缺点:vertical-align 属性具有继承性,导致父元素内的文本也居中,因此若父元素内包含除该元素外的文本将不适用...middle;}#child {} 测试2.2 absolute + transform优点:父元素是否脱离文档流不影响子元素垂直居中效果缺点...left">left 图片3.1 优化上面的 float + margin (复杂不推荐)可以为右列自适应元素增加父级容器...4.4 对比圣杯布局和双飞翼布局的差异点在于左右两列重叠部分的处理方式,圣杯布局通过增加父结点并开启左右两列定位的方式实现,而双飞翼通过在 center 添加子节点实现,更加简洁。
我们之前把元素分为块级元素,行内元素,行内块级元素,他们的特性是块级独占一行,行内和行内块级可以在一行内共存,这些特性都是针对标准流的。总结一下就是,标准流中元素只能在水平或垂直方向上排版。...居中与flex 1,水平居中 如果元素是文本、图片等行内元素,在父元素中设置text-align:center即可实现行内元素水平居中,如果子元素是不定宽块级元素,将子元素的display设置为inline-block...,使子元素变成行内元素,可以实现块级元素的水平居中。...; } /*这样实现垂直居中的原理是:使父元素以表格的形式呈现,再利用vertical-align属性在表格中是设置单元格内容垂直对齐方式的特性,从而达到块级元素垂直居中的效果。...:display:flex; 弹性元素:父容器的直接子元素,并且没有脱离文档流(非 absolute 属性)。
flex分为flex容器以及flex项目两部分,理论让任何元素都可以作为flex容器,同时这个容器也能够指定是单行显示还是行类显示,flex容器内的所有一级元素都会变成inline-block的元素,并且他们的...flex-wrap这个属性比较好理解,因为flex容器里面的所有元素都是inline-block类型的,所以一定会有当所有子元素的长度大于父元素时是否需要换行的需求,该属性有以下几个值:nowrap:...不换行,默认值wrap: 换行,第一行在上行wrap: 换行,第一行在下方容器属性 justify-content定义了flex项目的对其方式,左对齐,右对齐,居中等等这些,有以下几个属性:flex-start...定义了项目在纵坐标的对其方式,主要用于当项目的高度不一致的时候如何显示,有以下几个值:flex-start: 顶部对齐flex-end: 顶部对齐center: 居中对齐baseline: 项目的第一行文字基线对齐...定义列间距。
领取专属 10元无门槛券
手把手带您无忧上云