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

CSS_Flex 那些鲜为人知的内幕

(反正我是!)。不知道大家平时在遇到Flex布局属性问题时,是如何查阅并解决的。反正,我每次记不住哪些属性或者对哪些属性的用法忘记时。我总是求助于阮一峰老师写的Flex 布局教程:语法篇[1]。...其实,对于CSS来讲,大家都抱着一种「死记硬背」的东西来对待它。久而久之,就会出现上述我说的问题,一个属性或者一个使用案例,需要去指定的网站去查询。...当我们切换到flex-direction: column时,「主轴垂直运行,从上到下」。 ❝在Flexbox中,一切都「基于主轴」。算法不关心垂直/水平,甚至不关心行/列。...「默认情况下,它们很好地排列在一起,侧边相邻」。我可以画一条直线,将所有子元素串起来,就像烤肉一样: 然而,交叉轴是不同的。「一条垂直的直线只会与其中一个子元素相交」。...当我们设置width: 2000px时,我们肯定能到一个宽度为 2000 像素的元素,即使它已经超过当前视口的宽度。 ❝然而,在 Flexbox 中,width属性的实现方式不同。

29710

fixed失效,css堆叠上下文问题

我们具体写个例子分析下 div id="app"> div class="wrap"> div class="subContent">我是fixed在最右侧div>...,你就会发现leavel-1被挡住了 初学者可能会好奇,也很容易想到,这leavel-1去哪里了,实际上是在leavel-2的下级,我们把leavel-2的宽度调整一下 隐藏出来的.leavel-1...,就是贴着body排的 所以这就证明,浏览器在处理层叠上下文优先级时,先执行定位,然后再执行transfrom,这只是作用在同一个元素上 回到我们刚开始的问题上,如果是作用在不同的两个父子级元素上呢...另外思考一个问题,当一个块级子级元素设置width:100%与不设置width,当我们对该元素设置margin时,此时会发生什么?...元素本身的宽度是怎么样的,这是一个我们经常遇到的一个问题,想清楚了,貌似你会对margin的作用会有更深的认识。

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

    01_Bootstrap基础组件01

    div class="container"> 我是固定宽度内容 div> div class="container-fluid"> 我是全屏显示内容 div> 4 栅格系统...总是水平排列 开始是堆叠在一起的,当大于这些阈值时将变为水平排列 开始是堆叠在一起的,当大于这些阈值时将变为水平排列 开始是堆叠在一起的,当大于这些阈值时将变为水平排列 .container 最大宽度...在某些阈值时,某些列可能会出现比别的列高的情况。...为了克服这一问题,建议联合使用 .clearfix visible-*-block (星号代表屏幕的大小)在某个阈值下显示,可以为 xs、sm、md、lg div class="row"> 在列容器中的行容器(row),宽度为100%时,就是当前外部列的宽度,被嵌套的行(row)所包含的列(column)的个数不能超过12。

    8900

    bootsrap栅格系统

    div class="contaner-fluid"> //100%宽度构建一个栅格区域 div class="row">//创建一个响应式的行 div class="col-md-4">我是本行第一个元素块...(单行)布局就完成了 col-md-表示在中等屏幕下的分布,col-md-4表示中等屏幕(md)下占据单行的4列,单行不得超过12列否则显示在第二行....下面看一下完整的栅格参数 超小屏幕 手机 (堆叠在一起的...,当大于这些阈值时将变为水平排列C.container 最大宽度None (自动)750px970px1170px类前缀.col-xs-.col-sm-.col-md-.col-lg-列(column)...数12最大列(column)宽自动~62px~81px~97px槽(gutter)宽30px (每列左右均有 15px)可嵌套是偏移(Offsets)是列排序是 在基础的栅格自适应页面上可以完善一下,进行不同尺寸设备显示的适应

    95440

    CSS 框架 Bulma 教程

    网页样式需要大量时间开发,最省事的方法就是使用 CSS 框架。 Bootstrap 是最著名的 CSS 框架,但是今天我想推荐另一个更轻量化、更易用的框架----Bulma。...有了它,即使完全不懂 CSS,也可以轻而易举做出美观的网页。 ? 我要感谢 100offer 对我提供赞助。...,平分容器的宽度;宽度小于等于 768px 时,所有项目变成垂直堆叠。...="column">3div> div class="column">4div> div> 如果希望在不同设备,网格占据不同的宽度,可以像下面这样写。...$ cd bulma $ npm install 接着,在源码的根目录里面,新建一个app.sass文件,定制的代码都写在这个文件。在它里面,先引入 Bulma 基础变量。如果需要的话,可以改掉。

    2.5K30

    Bootstrap响应式前端框架笔记一——强大的栅格布局

    xs是指浏览器宽度小于768时的状态,一般对应移动手机设备,sm指浏览器宽度大于768且小于992时的状态,其一般对应平板设备,md指浏览器宽度大于768且小于1200时的状态,一般对应正常的个人电脑,...lg是指浏览器宽度大于1200时的状态。...="col-md-1">.col-md-1div> div> 将md以上尺寸的窗口宽度进行2等分,md一下尺寸的窗口将竖直堆叠排列 div class...如果需要对移动设备和桌面是被进行布局的区别化,可以为某个标签配置多套不同等级下的栅格类,示例如下: 在md及以上尺寸窗口中进行4等分,在md以下尺寸sm以上尺寸窗口进行2等分布局,在sm以下储存窗口进行竖直堆叠布局...在使用栅格布局时,开发者也不需要将每一行中的12列都占满,可以通过列偏移设置来进行列的定位,示例如下: 进行列偏移操作 将占1/3行的一列向右便宜1/3行 使其固定在中间</

    2.3K10

    如何使用Grid中的repeat函数

    第一个参数可以是以下三种之一: 数字(比如1,2,3) auto-fit关键字 auto-fill关键字 显然,数字值设定了特定的轨道数。...在下面的演示中,我们可以看到,在有足够空间的情况下,带有"auto"文本的 div 将在max-content时达到最大宽度,而 1fr div 则共享剩余空间。...同样的情况也会反过来发生:当我们缩小浏览器时,一旦没有至少 200px 的空间可以容纳,行中的最后一个 div 就会进入下一行。一旦该 div 掉下去,其余的 div 就会展开以填满该行。...一旦列的宽度小于 200px,100% 就是较小的值,因此以它为准。这意味着剩下的一列现在被设置为宽度:100%,因此在宽度不断减小的情况下,它仍能很好地适应其容器。...实际上,在大多数甚至所有情况下,我们都希望使用auto-fit功能,因为我们并不经常希望在可以用于内容的空间保持空闲。

    57130

    面试官:CSS 面试题集锦

    z-index 属性设置元素的堆叠顺序,拥有更高的堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面 该属性设置一个定位元素沿着 z 轴的位置,z 轴定义为垂直延申到显示区的轴,如果为正数,则离用户更加近...非常少见的情况下多个absolute交错覆盖,或者需要显示最高层次的模态对话框时,可以设置z-index > 1。...要注意的是这个是个大概的说法,每个特定的元素能包含的元素也是特定的,所以具体到个别元素上,这条规律是不适用的。 比如 P 元素,只能包含inline元素,而不能包含block元素。...默认情况下,block元素宽度自动填满其父元素宽度。 block元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行。...改变transform或opacity不会触发浏览器重新布局(reflow)或重绘(repaint), 只会触发复合(compositions)(复合是什么,我也不懂,没听说过,有知道的朋友可以在留言区告诉我

    3.3K30

    PyTorch,TensorFlow和NumPy中Stack Vs Concat | PyTorch系列(二十四)

    在大多数情况下,沿着张量的现有轴进行连接非常简单。当我们想沿着新的轴进行连接时,通常会产生混乱。为此,我们堆叠。表示堆叠的另一种方式是,我们创建一个新轴,然后在该轴上连接。...当我们说张量的索引为零时,是指张量形状的第一个索引。 现在,我们还可以在该张量的第二个索引处添加一个轴。...请注意,每个张量都有一个轴。这意味着cat函数的结果也将具有单个轴。这是因为当我们连接时,我们沿现有的轴进行连接。请注意,在此示例中,唯一存在的轴是第一个轴。...通过为批次添加一个张量,这将为我们提供四个尺寸的张量。 请注意,如果我们沿任何现有尺寸将这三个尺寸结合在一起,则会弄乱通道,高度或宽度。我们不想这样弄乱我们的数据。...在这种情况下,无需堆叠。 这是一个代码示例: 请注意,下面的示例将具有不同的值,因为这两个示例是在不同的时间创建的。

    2.5K10

    CSS盒子(Box)模型入门

    在这里,您将了解box模型的所有基本元素以及它们是如何使用的。 在深入研究之前,每个人都需要了解web设计中的每个元素都是一个矩形框。...它是具有特定宽度和高度的元素的内容。可以使用CSS属性的高度和宽度设置固定的高度和宽度,也可以由内容本身决定。 ? 现在,有一件事让人有点困惑,那就是使用内联或块级元素。...在使用内联元素时,不可能为该元素设置固定的宽度或高度,因为元素没有预先确定的宽度和高度(因为宽度和高度由内容决定)。这可以通过将元素转换为块元素来克服。...与内联元素不同,使用块级元素时,可以轻松地为其设置固定的宽度或高度。由于在默认情况下,块级元素占容器宽度的100%,我们可以通过设置一个固定的宽度轻松覆盖它。...当使用inline-block时,元素具有内联元素的行为(只占用内容的空间),但是您可以像使用块元素那样操作它。 现在,当我们有一个块级元素时,我们可以给它一个宽度和高度。

    95820

    译|CSS中的间距,前端开发中各种设置间距的优点缺点及实例

    例如,在上一个示例中,我添加了 margin-bottom:1rem 在两个堆叠的元素之间添加垂直间距。...用例和实际示例 在这一节中,你将回顾一下在日常工作中,你在处理CSS项目时,会遇到的不同用例。 header 组件 ? 在这种情况下,标题具有logo,导航和用户个人资料。...请注意,分隔符周围的间距现在相等,原因是导航项没有特定的宽度,而是具有padding。结果,导航项目的宽度基于其内容。...处理底部margin 假设以下组件堆叠在一起,每个组件都有底边距。 ? 注意最后一个元素有一个空白,这是不正确的,因为边距只能在元素之间。...或者,当它垂直堆叠时在移动设备上将如何工作?很多很多的复杂性。

    12.1K10

    如何解决 flex 布局下子元素 width 宽度设置失效的问题

    但很明显可以从图中看到,这张图的宽度不够,标题这一整行后面缺了一截,于是我想到了调整宽度。可当我设置宽度为 400px 后,发现一个奇怪的现象,那就是我设置的宽度,和实际表现的宽度不一致。...如图所示:随后无论我怎么调整宽度,都无法实际表现为我设置的宽度。...我当时百思不得其解,不知道是哪里出现了问题,还问了下朋友,朋友一时半会儿也没有发现问题,只是发现审查元素的时候,会有一个箭头,问我是不是用到了 flex 还是 grid 布局。...为此我写了一个jsbin 的在线 demo,复现了这个问题:当我把 flex 布局去掉后,发现宽度显示就正常了!果然是 flex 的问题!代码如下,感兴趣的朋友可以测试下:宽度设置失效的问题,解决起来可能比想象中简单得多。尽管我们可能已经熟悉了flex布局的使用,但仍然可能会在特定情况下遇到挑战,这也提醒我们需要不断学习和探索。

    3.6K30

    如何使用纯 CSS 制作四子连珠游戏

    当我发现有人使用 重置或者重新开始新游戏时,我非常兴奋。只需要将元素包裹在 标签中并添加按钮。在我看来,这是一个比刷新页面更方便的解决方案。...所以,一个圆孔可以有三种状态(空、红色或者黄色)。在同一列中掉落的圆盘会堆叠在一起。 首先我为每个圆孔放置了两个 checkbox 。...我仔细阅读了 MDN 上关于 :indeterminate 的文档后发现 radio input 通用都有 indeterminate 状态。名称相同的 radio按钮在未选中时都处于这种状态。...为了检测一列中四子相连的情况,每个玩家都有 11 个类型和类选择符链接在一起。在圆孔元素后面添加一个类名为 .outcome 的 div 可以展示输出的信息。...当游戏板被填满时会显示平局的信息。 检测平局结果出现了一个 bug。在极少数的情况下会出现黄色玩家最终胜利的情况,胜利和平局的消息都显示出来了。这是因为这些结果的检测和显示方法是正交的。

    2K20

    css 定位

    如果都找不到就是以html根节点为定位点。 所以使用absolute绝对定位的时候,最好在父元素上设置相对定位relative。 ? 设置绝对定位之后,块级元素宽度会收缩,宽度由内容决定。...三、z-index z-index详细介绍 1、z-index 定义: 属性设置元素的堆叠顺序,该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。...也就是说拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。 注释:元素可拥有负的 z-index 属性值。...如下去掉div3的z-index,div3的子元素div4和div6都直接和div3同级的div1/div2相互叠层。demo ?...因此当滚动产生时,固定定位元素依然处于窗口的某个固定位置。 比如说浏览器右边 回到顶部的按钮就是采用的固定定位。

    1.5K20

    【CSS3】css开篇基础(4)

    注意: 实际开发中,一个页面基本都包含了这三种布局方式 3.浮动 loat 属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘。...class="box1">浮动的盒子div> div class="box2">标准流的盒子div> 浮动的元素会一行内显示并且元素顶部对齐 如果多个盒子都设置了浮动...浮动的元素是互相贴靠在一起的(不会有缝隙),如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐。 浮动的元素会具有行内块元素的特性 任何元素都可以浮动。...块级盒子:没有设置宽度时默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定 行内盒子:原本的宽度默认和内容一样宽,直接设置高宽无效,但是添加浮动后,它的宽度和高度可以直接设置,无需用display...在设计中,粘性定位常用于创建导航栏在用户滚动时保持在屏幕顶部或侧边的效果,或者创建吸顶效果等。

    6710

    如何正确使用:has和:nth-last-child

    在某些情况下,一个组件或一个布局可能会根据子元素的数量而改变。 这在CSS中已经存在很多年了,但现在通过CSS :has,它变得更加强大。...请看下图: 我们有一个信息清单,当我们有5个或更多的项时,它的显示方式会不同。 <!...使用案例 基于子项数量而变化的Grid 当我们需要基于子项数量而更改gird布局时,这在目前的CSS中是不可能的。在CSS的grid中,我们可以使用minmax()基于可用空间来动态改变grid。...一个常见的模式是,当我们有多个作者时,用负间距堆叠作者的图像。 仅仅通过使用数量查询,我们就可以最低限度的实现,也就是: 添加负间距(互相堆叠头像)。 当有多个头像时,缩小头像的尺寸。...这个CSS变量可以被分配到我们想要的任何地方,而且这个CSS开箱即用。 只要写一次,就能在很多情况下发挥作用。 logo网格 在CSS中,要处理的一个棘手问题是对齐多个标识,并确保它们都看起来不错。

    21830

    CSS 中你需要知道 auto 的一切!

    当我们有一个元素应该在它的父元素内部水平和垂直居中时,我们可能会倾向于使用translateX或translateY。 我们可以使用下面方法让具有绝对定位元素居中: 设置的宽度和高度。...大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】。 Flexbox 在某些情况下,在flexbox中使用自动页边距非常有用。...当我们有一个网格,并且其中的网格项目具有margin-left: auto时:该项目将被推到右边,其宽度将基于其内容长度 考虑下面的例子: ? 当我们希望item1的宽度基于其内容,而不是网格区域。...overflow 属性 当我们有一个元素时,我们应该考虑它应该包含的最小和最大内容。如果内容超过了最大值,那么我们需要显示一个滚动条。...接下来我要解释的是对我来说是新的,我在研究本文时学到了它。 考虑下面的模型: ? 我们有一个有内边距的 wrapper 元素,还有一个子项。子项目是绝对定位的,但没有任何定位属性。

    5.5K30

    使用这种技巧,可以大大地提高前端布局效率

    上已经收录,文章的已分类,也整理了很多我的文档,和教程资料。 在布局中,对于每块功能的 DOM 结构,我们一般使用一个带有 wrapper 类元素把它包裹起来,让代码或者网页内容更易于阅读。...Wrapper 的display类型 由于wrapper 是div>,因此默认情况下它是块级元素。 问题是,当要将wrapper内的内容放置在grid中时,该怎么办?...为避免此类混淆,建议在这种情况下使用非简写格式 。 现在让我们来添加页边距。在每个项目中,我都准备了一组用于margin和padding的实用工具类,在必要时使用它们,考虑下图。 ?...全屏中的 Wrapper 在某些情况下,如果某个部分的背景视口宽度为100%,并且其中包含wrapper`,则可能会出现这种情况。 与上一个示例中介绍的类似。...在其中,wrapper可防止内容占据视口的整个宽度。 ? 主内容需要添加 wrapper 吗? 这要看情况。 让我们探讨两种最常用内容区间的设计。 第一个以其内容为中心,并受特定宽度限制。 ?

    3.9K20
    领券