首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从零开始学 Web 之 CSS3(七)多列布局,伸缩布局

justify-content:设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式 。 flex-start:让子元素向父元素的起始位置对齐,父元素右边可能会有空余。...flex-end:让子元素向父元素结束位置对齐,父元素左边可能会有空余。 center:让子元素向父元素中间位置对齐,父元素两边可能会有空余。...这时子元素与子元素之间的间距是最左边和最右边子元素与父元素间距的2倍。 注意: 当所有子元素的宽度之和大于父盒子的宽度时,所有子元素的宽度会平均收缩,变窄,以适应父盒子的宽度。...: 1px solid red; } div > ul { width: 100%; height: 36px;;...stretch:(默认值)拉伸:让子元素在侧轴方向上进行拉伸,填充满整个侧轴方向。

4K10

css笔记 - 张鑫旭css课程笔记之 margin 篇

子元素的margin是百分比,随父元素的宽度改变而改变。 子元素没有文案,加了一个边框示意他的位置和处境。... 总结:主要原理就是 子元素的margin设置为百分比时,其具体像素值相对于父元素的宽度计算,如果margin-top...就好像内联元素没有填充水平宽度就没有水平方向的剩余空间是一样的。...不起作用 div class="box"> div class="test"> 原因:如果我不设置高度,我的高度也不会自动填充整个父元素的高度,就像内联元素不会自动填充父元素的宽度一样...class="fir"> ul的width不能设置,因为margin负值是改变了元素的尺寸所以才让li撑下的,如果再ul上设置宽度,反而画蛇添足,起到了反作用。

2.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【CSS】340- 常用九宫格布局的几大方法汇总

    那既然是节外生枝,我们直接让祖父砍掉多出来的那一节不就行了?父亲ul设置宽度,坚持让儿子占他的位置,而box祖父就做一个坏人,使用overflow砍掉多余出来的一个margin-right的距离。...关键点 1. box使用overflow:hidden;无情的砍掉li的右margin 2. ul唱白脸,设置宽度坚持让三个li并排站,而不让最后一个li因为没地方挤到下一排。...间距不一定要加在父元素li身上的,父元素li可以只负责流体布局,内部用padding或第一层子元素来控制和相邻元素的间距 原理 原理:图片中的红色边框,是li元素,红色边框总的深红区域是li元素内部的子元素...红边框和子元素之间的白色距离是子元素的margin生成。 关键点 1. 父元素box以前20的内边距,这次改成10,因为外孙li>div会帮忙的。...关键点 1. page最外层的父元素使用absolute负责占位,给子元素们把空间拉开。或者用宽高也行 ? 2. 每一个块的父元素list利用浮动和33.33%的宽度百分比实现横向自适应排列 3.

    1.3K10

    CSS理解之margin

    对最后的子元素设置的margin-top:80px;等同于为父元素设置了margin-top:80px;(父元素的margin-top=0,最后的子元素的margin-top=80px,发生了外边距重叠...,也会自动填充外部容器 例1: image.png 图中是一个div元素,可以看到设置了背景色之后,它的宽度自动填满了它所在的容器。...例2: image.png 我们设置左右定位值left:0; right:0;,它的宽度同样自动填充填满了它所在的容器,只不过它的容器是它的第一个父级相对定位元素。...还需要注意一点:用margin:auto来实现居中,它计算后的值必须是正直,比如说你的父容器宽度1000px,子元素宽度2000px,这时设置margin:auto它是不居中的。...div class="li">列表3div> div> div> 由于div class="ul">div>没有设置宽度,所以设置了margin-right

    1.7K20

    Echarts图表宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!

    问题2:怎么让Echarts图表宽度随着父元素自动适应?   ...div,获取当前元素的宽度后把固定宽度赋值给图表;    但是为什么我们宽度按设置了100%后,变成100px呢?...问题2原因:   由于开发的后台管理系统有侧边栏收缩功能,使用了Echa的折线图样式设置为width: 100%,但是图表在初始化时宽度已经继承父元素的宽度,我们再次改变父元素宽度时,并不能让Echarts...的宽度随着父元素自动适应。...如上图右侧突出的样式; ++解决思路:   由于元素display: none无法获取到相应的宽度,当元素变化时我们可以手动的记录父元素的宽度,或者侦听display属性,然后使用官方文档中的resize

    7.9K40

    CSS 布局_2 Flex弹性盒

    ,弹性布局是指通过调整其内元素的宽高,从而在任何显示设备上实现对可用显示空间最佳填充的能力,弹性容器扩展其内元素来填充可用空间,或将其收缩来避免溢出块级布局更侧重于垂直方向、行内布局更侧重于水平方向,与此相对的...,默认值为 0flex-shrink:1;指定了 flex 元素的收缩规则,子项的收缩所占的份数,默认值为1 当所有子项相加的宽度大于父项的宽度,每个子项减少的多出的父项宽度的 1/n felx-basis...占 1 份,c 占 3 份,即 1:1:3,我们可以看到父项宽度定义为 400 px,子项被定义为 200 px,相加之后为 600 px,超出父项宽度 200 px,那么这么超出的 200 px 需要被...>flex-basis 属性的初始值为 auto,设置或检索弹性盒伸缩基准值,如果所有子元素的基准值之和大于剩余空间,则会根据每项设置的基准值,按比率伸缩剩余空间当 flex-basis 值为 (25%...space-between在每行上均匀分配弹性元素,相邻元素间距离相同,即空白在子项之间每行第一个元素与行首对齐,每行最后一个元素与行尾对齐space-around在每行上均匀分配弹性元素,相邻元素间距离相同

    1.5K40

    WordPress 主题教程 #13:样式化侧边栏

    ; } 现在已经为侧边栏样式化父级无序列表(UL)标签。...所有的子 UL 或者内嵌的 UL 将会击继承同样的样式。在这里,它是无列表样式,零空白和10像素的填充。 如下所示: 第二级的(或内嵌的) UL 继承了第一级 UL 的样式。...第4步:清除子 UL 下的 LI 填充 在 .sidebar ul li h2{} 下输入: .sidebar ul ul li{ padding: 0; } 在 .sidebar ul ul li{}...:扩展日历宽度到整个侧边栏 执行这一步,如果你想让你的日历的数据能够扩展并覆盖整个侧边栏的宽度。...在 .sidebar ul ul li{} 下输入: table#wp-calendar{ width: 100%; } 保存和刷新,结果如下: width: 100%; 因为你想日历表格适应到侧边栏的宽度

    1.1K20

    CSS Flex 布局

    它会跟其他行内元素一起流式排列,但不会自动增长到 100% 的宽度。内部的弹性子元素跟使用 display: flex 创建的 Flexbox 里的弹性子元素行为一样。...Flexbox 菜单 行内元素给父元素贡献的高度会根据行高计算,而不是根据内边距和内容 Flexbox 允许使用 margin: auto 来填充弹性子元素之间的可用空间 <html lang="en"...# flex-grow 每个弹性子元素的 flex-basis 值计算出来后,它们(加上子元素之间的外边距)加起来会占据一定的宽度。加起来的宽度不一定正好填满弹性容器的宽度,可能会有留白。...flex-grow 的值越大,元素的“权重”越高,也就会占据更大的剩余宽度。一个 flex-grow: 2 的子元素增长的宽度为 flex-grow: 1 的子元素的两倍。...让屏幕上的视觉布局顺序和源码顺序差别太大会影响网站的可访问性。

    1.3K10

    CSS再学

    每个块级元素都从新的一行开始,并且其后的元素也另起一行。 2.  元素的高度、宽度、行高以及顶和底边距离都可设置。 3.  元素宽度在不设置的情况下,是它本身父容器的100%,除非设置一个宽度。...div{border-bottom:1px solid red;}  只设置下边框 高度和宽度: css定义的宽(width)和高(height),指的是填充以里的内容范围。...因此一个元素的实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右边界+右边框+右边界 填充: 元素内容和边框之间可以设置距离的,称之为“填充”。...块级元素都会在所处的包含元素自上而下按顺序垂直延伸分布,因为在默认情况下,块状元素的宽度都是100%,实际上,块级元素都会以行的形式占据位置。 2. ...css 中有一个用于竖直居中的属性 vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用。

    2K70

    第141天:前端开发中浏览器兼容性问题总结(二)

    IE6 width为奇数,右边多出1px的问题 问题: 父级元素采用相对定位,且宽度设置为奇数时,子元素采用绝对定位,在ie6中会出现右侧多出1像素 解决: 将宽度的奇数值改成偶数 12....子容器浮动后,父容器扩展问题 问题: 子容器都float以后,父容器没有设定高度,父容器将不会扩展 解决: 只需要添加一个clear:both的div,代码如下: div style="border:...列表不能换行的问题 问题:        li设置为浮动,后面的li紧随其后,不能换行 解决: 1、为这个ul定义合适的宽高 2、给包含这个ul 的父div定义合适的宽高。...子容器宽度大于父容器宽度时,内容超出 问题: 子DIV的宽度和父DIV的宽度都已经定义,在IE6中如果其子DIV的宽度大于父DIV的宽度,父DIV的宽度将会被扩展,在其他浏览器中父DIV的宽度将不会扩展...,子DIV将超出父DIV 解决: 设置overflow:hidden,子DIV将不会超出父DIV。

    1.9K21

    几个有点重要的知识点

    div> 根据 css 代码 假设解析 css 是从左向右的匹配,过程是:从 .demo 开始,遍历子节点 ul 和子节点 p,然后各自向子节点遍历。...蓝色和绿色只有一个字体的宽度,就是 16px; 由于子元素的宽度就是 40+16+16=72 ,小于父元素的 240。...想必大家都想到了,如果子元素的总宽度大于父元素呢,这时候就需要 flex-shrink 来对子元素进行相应的缩小了 比如把 子元素的 flex-basis 都改成 100px; 子元素的 flex-basis 都是 100 ,那么子元素的总宽度就是 300,比父元素的宽度(240)多了 60。...那么就是把 60 分成 3份,每一份 20,那么子元素的实际宽度就是:预设宽度(100) - “消化掉的宽度” (20)= 80,所以每一个子元素都是 80 。

    53820

    CSS 技巧一则 -- 不定宽溢出文本适配滚动

    hover 时弹出框提示 一种可行的方案是在 hover 的时候,弹出一个文本框展示全文,最简单的就是在文本标签下添加 title 属性,填充我们需要的内容: ul>  标签的宽度为父元素的 100%,如果是这样,我们很难进行下面的操作。...不定宽文字跑马灯来回滚动展示 -- 父容器定宽,子元素不定宽 父容器不定宽度 当然,还没完。 如果父容器的宽度也是不固定的,或因为者 calc 兼容性问题无法使用上述方法。...不定宽文字跑马灯来回滚动展示 -- 父容器不定宽,子元素不定宽 部分不足之处 无法判断文本长度是否超出父元素宽度 当然,上述方案并非完美的方案,如果我们希望只针对本文长度溢出的情况,hover 的时候才进行滚动...我们无法通过 CSS 去判断当前元素长度是否大于父元素长度再选择性的进行动画。毕竟 CSS 只是负责样式,不控制行为。

    1.8K20

    CSS笔记

    3.5、相对定位里面的绝对定位(子绝对父相对)   1)、默认情况下所有的绝对定位的元素, 无论有没有父元素, 都会以body作为参考点,所以元素的位置会随着浏览器的宽度高度的变化而变化;   2)、而相对定位不会脱离标准流...4)、如果嵌套的父级元素都是定位流,那么绝对定位的元素以离它最近的父级元素为参考点   5)、对于嵌套的元素都是定位流,则定位流中的子元素会忽略父级元素的padding属性,即定位流父级元素的pading...>测试父标签相对定位,子标签绝对定位 div style="border:1px solid red;"> div class="testDiv">...结合这两种定位的优势,通常一起使用 --> 子绝对父相对的应用示例 div style="background-color...: 让元素等待状态的时候显示动画第一帧的样式 both: 让元素等待状态显示动画第一帧的样式, 让元素结束状态保持动画最后一帧的样式 */

    1.6K40

    HTML与CSS进阶

    、垂直方向上的移动 translate最大的优点就是不影响其他元素的位置 translate中的100%单位,是相对于本身的宽度和高度来进行计算的 行内标签没有效果 div { background-color...如果里面的参数是 % 移动的距离是 盒子自身的宽度或者高度来对比的 */ /* 这里的 50% 就是 50px 因为盒子的宽度是 100px */ /* transform: translateX...transform: translate3d(100px, 100px, 100px) /* 注意:x, y, z 对应的值不能省略,不需要填写用 0 进行填充 */ transform: translate3d...与perspective的区别 perspecitve 给父级进行设置视距的,translateZ 给 子元素进行设置不同的大小 3D 旋转rotateX 3D 旋转指可以让元素在三维平面内沿着 x 轴...transform-style: flat 代表子元素不开启 3D 立体空间,默认的 transform-style: preserve-3d 子元素开启立体空间 代码写给父级,但是影响的是子盒子 <

    2.9K50

    html、css 实现二级菜单「建议收藏」

    div class="submenu"> ul> Lorem....,但是lidisplay: list-item;,多个是一行一行显示的 所以我使用了浮动,来让多个li元素排在一行 但是,li使用了浮动之后,会导致一个问题,高度坍塌: li的父元素ul是常规流元素块盒...: 20%,宽度百分比的值是相对于其包含块(其父元素ul)的width,而ul我没有设置宽度,它采用默认值width: auto,而且因为ul元素是常规流元素,此时,它的width会把水平剩余空间吸收掉...(可以这么认为:ul的宽度就是视口的宽度(视口:浏览器的可视窗口)) 然后我又用到了css3的一个属性: box-sizing: border-box; 每一个html元素,都可以看作一个盒子:...topnav元素的子元素li,并且有鼠标悬停在上面 空格,选后代元素 >,选子元素 自此,本文结束,虽然比较简陋,但是二级菜单的基本结构是搭建起来了(一级菜单用浮动,二级菜单用定位) 发布者:全栈程序员栈长

    2.6K50

    img固定宽度和高度,不规则图片变形问题的解决方法

    前端又要去做适应,是一个让人非常头大的问题。 总结了一个不规则图片不变形的解决方案: 注:先写一个长 300px 宽 200px 带边框的 div ,图片接近方形,实现图片正常显示不变形。...同样 background-size 的 contain (完整显示)和 cover (填充)属性也能起到相同的效果。...2、object-fit object-fit CSS 属性指定可替换元素的内容应该如何适应到其使用的高度和宽度确定的框,不支持IE。...设置 height: 100%; 为图片全部填充,这时候需要给图片的容器添加 overflow: hidden; 属性,防止图片超出。... li img {     max-height: 100%;     max-width: 100%; } 声明:本文由w3h5原创,转载请注明出处:《img固定宽度和高度,不规则图片变形问题的解决方法

    10.4K20
    领券