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

弹性(Flex)布局的使用

微信图片_20200117094033.jpg 最近我参与实施的两个项目中,一个页面交互复杂,而另一个相对传统,两个项目相比之下凸显出了页面布局样式的时间占比不可忽视,使用了弹性布局代码量精简了不少。...虽说如此,弹性布局往往会有些潜在的问题,且改动后,要立即查看页面也需要不少时间,因此我把项目中使用弹性布局过程中遇到的问题稍作整理,为大家以后使用时,可以有效规避这些麻烦。...主要属性包括: flex-direction: 默认情况下,元素排布从左至右,从上至下。但有时在实际应用中,并不按照默认情况进行排布。默认的是row(从左至右),可以设置成column(从上至下)。...flex: 可以将flex-grow, flex-shrink, flex-basis进行连写。flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。...5 flex布局滚动,子元素无法全部显示 问题: 父级使用flex布局,列表页设置flex:1;占满空闲空间,但是所有的列没有完全显示出来,滚动条也没有出现。 ?

2.1K10

微信小程序实践:2.3 可滚动的容器组件之 scroll-view

一个框架内每个组件的设计,都有设计者的考虑,每个组件都有其特殊的用途。如果说view的存在,主要是为了实现各种常见的ui布局,那么今天分享的,是「三动」容器组件之一的scroll-view。...6,有时候在一个后台vue页面中,没有人动它,它自己抖动不止,这可能是什么情况? 7,如何在scroll-view中自定义实现一个下拉刷新交互动画?...默认情况下,WXS在视图层执行,与页面JS中的代码不是一路的,后者是在逻辑层执行的。 如微信官方文档所讲,WXS是一套不一样的脚本语言,它是WeXin Script的简写。...开启enable-flex,这个属性是启用flexbox布局的,相当于添加display:flex样式。但是如果是自己添加,是加在了外围容器上,只有通过这个属性添加,才能加到内围真正的容器上。...如果出现不滚动的现象,可以尝试给外框容器添加样式:white-space:nowrap;display:inline-block,并且保证内容的实际宽度大于屏幕宽度。

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

    【Web前端】深入CSS 布局

    CSS 页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者主视口/窗口的位置。...通过设置​​display: flex;​​,你可以将一个容器变成弹性容器(Flex container),而其内部的子元素则成为弹性项(Flex items)。 1....设置 ​​flex​​ 属性 ​​flex​​属性是弹性盒子的核心,用于设置弹性项如何在弹性容器中分配空间。...五、浮动(Float) 浮动是CSS中的一个经典布局方法,用于将元素从正常流中移出,并使其在父容器内左右浮动。...粘性定位(Sticky) 粘性定位结合了相对定位和固定定位的特点,当元素在页面中滚动到一定位置时,会“粘”住并保持在该位置。

    10510

    H5C3第四节

    弹性布局(伸缩布局) Flex是Flexible Box的缩写,翻译成中文就是“弹性盒子”,用来为盒装模型提供最大的灵活性。任何一个容器都可以指定为Flex布局。...CSS3在布局方面做了非常大的改进,使得我们对块级元素的布局排列变得十分灵活,适应性非常强,其强大的伸缩性,在响应式开中可以发挥极大的作用。...center: 弹性盒子元素将向行中间位置对齐 space-around: 弹性盒子元素会平均地分布在行里 space-between:第一个贴左边,最后一个贴右边,其他盒子均分,保证每个盒子之间的空隙是相等的...space-around:第一行贴上边,最后一个行贴下边,其他行在弹性盒容器中平均分布。 stretch:拉伸,不设置高度的情况下。...scrollBar 是否包含滚动条,默认false,如果设置为true,那么浏览器自定的滚动条会出现,这个时候,页面滚动还是按页滚动,但是浏览器也能滚动。不建议开启,不然会不同步。

    5.3K30

    前端知识点总结(html+css)(上)

    (如div下可包含div) 行内元素(常见的行内元素a,span.img) 一行显示多个 宽度为内容的宽度 不可以设置高度和宽度 标签内一般不包含标签(如a标签内包含a标签) 行内块元素 行内块元素包含块级元素和行内元素的特征...属性和alt属性的区别 alt属性为了给不能看到图片的人提供文字说明,图片加载失败时 title属性可以实现鼠标悬停时提示的内容 css篇 学习css重点就是清楚的了解布局,给你一个页面,你能一眼知道这个页面如何布局...、table-cell等 BFC作用 可以避免外边距重叠的问题,将两个元素放在不同的BFC容器中即可。...visibilty:hidden //隐藏对应元素,在文档中仍保留位置 opacity:0 //隐藏元素,占位置,可添加事件 9. css中的overflow属性 scroll //必会出现滚动条...auto //子元素内容大于父元素,显示滚动条,超出显示,不超出不显示 visible //溢出内容出现在父元素之外 hidden //溢出隐藏 10.

    36411

    Web前端知识体系精简——CSS 篇

    5、Flex布局 Flex布局的容器是一个伸缩容器,首先容器本身会更具容器中的元素动态设置自身大小;然后当Flex容器被应用一个大小时(width和height),将会自动调整容器中的元素适应新大小。...Flex容器也可以设置伸缩比例和固定宽度,还可以设置容器中元素的排列方向(横向和纵向)和是否支持元素的自动换行。有了这个神器,做页面布局的可以方便很多了。...注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。...8、Sprite图 对于大型站点,为了减少http请求的次数,一般会将常用的小图标排到一个大图中,页面加载时只需请求一次网络, 然后在css中通过设置background-position来控制显示所需要的小图标...9、字体图标iconfont 所谓字体图标就是将常用的图标转化为字体资源存在文件中,通过在CSS中引用该字体文件,然后可以直接通过控制字体的css属性来设置图标的样式。

    1.3K80

    防御式CSS是什么?这几点属性重点防御!

    默认情况下,当触及页面顶部或者底部时(或者是其他可滚动区域),移动端浏览器倾向于提供一种“触底”效果,甚至进行页面刷新。...CSS变量回退 CSS变量在网页设计中得到了越来越多的应用。我们可以应用一种方法,在CSS变量值因某种原因为空的情况下,以一种不破坏体验的方式使用它们。 通过 JS 输入CSS变量的值时特别有用。...使用 justify-content:space-between 在一个 flex 的容器中,我们可能会使用 justify-content 来使子项目之间有一定的间距。...每个项目之间的间距不是 gap 或 margin,它之所以存在是因为容器有 justify-content: space-between。...---- 编辑中可能存在的bug没法实时知道,事后为了解决这些bug,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。

    4.4K30

    使用CSS实现底部固定广告Banner与自适应内容区域

    技术博客:使用CSS实现底部固定广告Banner与自适应内容区域在网页设计中,经常需要处理底部固定元素(如广告Banner)与页面内容之间的布局问题。...本篇文章将详细介绍如何使用纯CSS(不依赖JavaScript)来实现一个高度自适应的页面内容区域和一个始终固定在页面底部的广告Banner,同时确保两者不会重叠。...使用Flexbox布局Flexbox是一个强大的CSS布局模型,它允许我们轻松地对齐和分配容器中项目的空间,即使它们的大小未知或是动态变化的。...在这个案例中,我们可以将body设置为一个flex容器,并设置其方向为列(flex-direction: column)。2....然而,position: sticky;在这里并不适用,因为它依赖于滚动行为,而我们希望Banner即使在页面不滚动时也固定在底部。

    21610

    CSS 实用手册

    元素一旦浮动起来后,宽度将变成自适应(非手动指定情况下) ③....浮动元素为父元素高度带来的影响,父元素的高度是以未浮动的子元素高度为准,如果一个元素中所有的子元素全部都是浮动的,那么该父元素的高度为 0,解决父元素的高度问题方案: (1)....基本概念 ①. flex 容器:简称容器,将元素设置为 Flex 容器后,其子元素允许实现灵活的位置摆放 ②. flex 项目:简称项目,存放在 Flex 容器中的内容 (2)....语法 display:value ①. flex 将块级元素 变为 flex 容器 ②. inline-flex 将元素变为行内flex 容器,容器的宽度为子元素的宽度 注意:将元素设置为 flex 布局之后...E. stretch 默认值,如果项目不设置高度或高度为 auto 时,那么项目将沾满整个容器的高度 ⑥. align-content 定义了多跟轴线的对齐方式,如果项目只有一根轴线,该属性无效 A.

    2.7K10

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

    在这种情况下,你可能倾向于使用width: 100%,对吗?下面是一个更好的解决方案。... 要使.item获得其容器的全部高度,我们可以使用以下方法之一: 给.wrapper一个固定的高度,然后为.item元素添加height: 100% 对.wrapper使用...: auto; } MDN 描述 该项目根据其宽度和高度属性调整大小,但会增长以吸收flex容器中的任何额外自由空间,并会收缩到其最小尺寸以适合该容器,这等效于设置“ flex:1 1 auto”。...CSS grid 和自动设置一个 auto 列 ? 在CSS Grid中,我们可以设置一个列为auto,这意味着它的宽度将基于它的内容长度。...在 Chrome 窗口中,滚动条总是显示出来,这是不正确和令人困惑的行为。 通过使用auto关键字,我们可以确保滚动条不会显示,除非内容高度大于它的容器。 根据MDN: 取决于用户代理。

    5.5K30

    「译」前端项目中常见的 CSS 问题

    在 macOS 下的 Chrome 中,这看起来不错,但是在 Windows 下的 Chrome 中,滚动条始终存在(即使内容很短)。这是因为 scroll-y 会无视内容,一直显示滚动条。...添加 flex-wrap 要想让一个元素表现得像弹性容器那样,只需添加 display: flex。但是,如果没有添加 flex-wrap ,那么当屏幕尺寸缩小的时候,将会出现水平滚动条。...长词和链接 在手机屏幕上浏览文章的时候,一个长词或者内联链接可能会导致页面出现水平滚动条。使用 CSS 的 word-break 可以防止这个问题。...给一个 SVG 添加 fill 使用 SVG 时,如果在 SVG 内部添加 fill,有时候它可能不会如预期的那样生效。...使用它们的时候,开发者可能会忘记做下面的事情: 添加 content: "" 属性, 在没有定义 display 属性的情况下设置它们的 width 和 height 下面的例子中,我们有一个标题,其标记是一个伪元素

    2.2K10

    nicegui布局细节补充——容器高度与滚动条

    前面的章节我们已经学会了 nicegui 中常用的各种布局方式:flex 和 grid 布局。这节我们将详细讲解容器高度以及滚动条的问题。...但是 nicegui 中,大部分都是用 flex 容器,所以才会看到宽度由内容支撑的情况 现在往页面多加一些元素: 每次点击按钮,里面的容器就会新增一个 label。...第一种方式很好理解,直接设置里面容器一个固定高度: 这种情况下,里面的内容就会很容易超过容器高度本身: 直接穿透下去了。...我们很少会说,页面上某个卡片的高度具体是多少。最多我们可能会设置一个最小高度之类(其实也不多见) 更多的情况是,我们希望整体布局刚好铺满整个屏幕,然后里面的某个区域,内容溢出时,出现滚动条。...上图,不管浏览器窗口怎么调整,在一定范围内,我不希望整个窗口出现滚动条。但是确实其中两个卡片中的区域,需要展示许多内容。仅限于这些局部地方出现滚动条。

    1.5K10

    如何使用 CSS 设置和自定义水平和垂直滚动条

    滚动条是图形用户界面(UI)中必不可少的组件。滚动条允许用户查看超出其容器宽度或高度的内容。滚动条还使用户能够查看超出屏幕宽度或高度的内容。默认情况下,浏览器会为body内容的溢出包含一个滚动条。...将overflow-y属性设置为scroll会为超出其高度的内容创建一个可滚动的容器。超出侧边栏范围的项目将被隐藏。右侧会出现一个滚动条,允许您的网站用户查看所有内容。...将属性的值设置为scroll会指示浏览器始终向容器添加滚动条。无论目标容器是否有超出其边界的内容,容器始终会有一个滚动条。...将overflow-x属性的值设置为scroll可以将水平滚动条添加到容器的底部。您的网站用户将能够平稳地滚动容器中的内容。您已成功创建了水平和垂直滚动条。...为了实现所有滚动条的统一定制,我们可以按如下方式应用样式:在不选择任何特定元素、标签或类名的情况下应用滚动条样式在网站同时具有水平和垂直滚动条的情况下,为两个属性的height和width同时赋值。

    1.9K00

    前端面试题归类-css

    BFC的区域不会与float box重叠。BFC是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。计算BFC的高度时,浮动元素也会参与计算。...,flex-grow和flex-shrink在flex属性中不规定值则为1,flex-basis为0%。...flex:1即为flex-grow:1,经常用作自适应布局,将父容器的display:flex,侧边栏大小固定后,将内容区flex:1,内容区则会自动放大占满剩余空间。...特别是如果你需要设计响应式的页面,@media是非常有用的。当你重置浏览器大小的过程中,页面也会根据浏览器宽度和高度重新渲染页面。CSS 引入方式?外部样式表。引入一个外部CSS文件;内部样式表。...解决方法:可以将代码全部写在一排浮动li中float:left在ul中用font-size:0(谷歌不支持);可以使用letter-space:-3pxwidth: auto 和 width:

    1.6K40

    前端常见技术点 - CSS DOM 布局(43问)

    CSS 选择器是从右往左解析的,这样效率较高,从子元素向上寻找父元素的情况在大多数正常情况下都比正向从父元素查找子元素要快得多,从左到右的查找在大多数规则读到最后(最右)才会发现是不匹配的,这样会做费时耗能...相对定位是“相对于”元素在文档中的初始位置,而绝对定位是“相对于”最近的已定位祖先元素,如果不存在已定位的祖先元素,那么“相对于”最初的包含块。...实现原理:主要利用了 background-attachment: fixed; 属性,随着页面的滚动轴背景图片不会移动。...42、如何高效的插入 HTML 到 DOM 树的指定位置 1、使用 createDocumentFragment() 创建一个内存中的文档片段,将所有需要追加到页面的 HTML 都 appendChild...1ch 表示一个0字符的宽度,因此只有在等宽字体的情况下,我们才能用 ch 来精确的调整字符的显示。 ex:相对长度单位。相对于字符“x”的高度。通常为字体高度的一半。

    1.5K30

    8则未必知道且超级实用的纯CSS布局排版技巧 | 网易4年实践

    「布局排版」指将图形、文本、图像、媒体等可视化信息元素在页面布局上调整位置、尺寸等属性使页面布局变得条理化的过程。...在SPA里有遇过因为有滚动条或无滚动条而导致页面路由在跳转过程里发生向左或向右的抖动吗?这让强迫症患者很难受,此时可用calc()巧妙解决该问题。....elem { padding-right: calc(100vw - 100%); } 不直接声明padding-right为滚动条宽度是因为每个浏览器的默认滚动条宽度都可能不一致。...100vw是视窗宽度,100%内容宽度,那么100vw - 100%就是滚动条宽度,声明padding-right用于保留滚动条出现的位置,这样滚动条出不出现都不会让页面抖动了。...」指容器内节点以同一方向排列且存在一个节点在某个方向上较突出的占位布局。

    3.4K20

    【愚公系列】《微信小程序与云开发从入门到实践》015-组件的布局

    一、组件的布局 目前为止,已经接触了不少容器组件,这些容器组件本身非常简单,掌握起来也很容易。但是对于任意一个小程序页面的开发工作,你真能够游刃有余地完成么?...本节将综合介绍WXSS中支持的布局方式,如这些布局方式是如何使用的、布局原理是怎样的。本节的内容对于页面开发来说至关重要,相信通过本节的学习,以后面对任何复杂的小程序页面你都会有清晰的布局思路。...1.布局的两个重要概念 1.1 布局中的定位与尺寸 定位和尺寸是布局技术中的两个重要概念。定位决定了一个元素应该出现在哪里,尺寸决定了一个元素的大小。...3.5 flex 使用场景:用于弹性盒布局。 效果:当将 display 属性设置为 flex 后,会生成弹性盒类型的元素框。弹性盒容器在布局时可控制的属性较多。 示例代码: WXML 代码: 中,父容器的 flex 属性需要设置为 display: flex,其相关的 flex 属性才会生效。

    11100

    我碰到的那些面试题html+css

    1、html5中新增的标签有哪些? /*1、header元素 表示页面中一个内容区块或真个页面的标题。 2、hgroup元素 表示对真个页面或页面中的一个内容区块的标题进行组合。...space-between 纵向平分flex容器 space-around 纵向平分flex容器,但是每个子元素两边是子元素间距的一半 stretch 默认:li将ul划分 align-items flex-start...其它情况下,该值将参与基线对齐 stretch 高度100%,宽度自动 align-self flex-start flex子元素在最上边 flex-end flex子元素在最下边 center flex...情况下,在IE6显示margin比设置的大 问题症状:常见症状是IE6中后面的一块被顶到下一行 碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题) 解决方案:在float...如果是随着父容器或者是整体页 面布局而改变尺寸,则使用%更好,如元素的高度和宽度设置; (2)字体尺寸尽量使用em,rem 为了字体大小的可维护性和伸缩性,推荐使用em,如果存在3层以及3层 以上的字体相对尺寸的设置

    1.2K20

    万字总结 CSS 布局

    像上面这样使用overflow一般情况下是有效的。然而,在某些情况下,这可能会带来一些阴影的截断或是非预期的滚动条。...在块级维度上元素会一个接一个排列下去,当你滚动页面时元素也会随着滚动。 当你改变元素的position属性时,通常情况下你也会设置一些偏移量来使元素相对于参照点进行一定的移动。...在这种情况下,你需要为容器元素设置一个除了默认static之外的值。 由于给一个元素设置position: relative并不会将其从正常流中移除,所以通常这是一个不错的选择。...当页面滚动时,固定的元素会留在相对于视口的位置,而其他正常流中的内容则和通常一样滚动。 当你想要一个固定导航栏一直停留在屏幕上时这会非常有效。...这个属性值是一个较新的CSS属性,在浏览器兼容性上会差一些,但在不兼容的浏览器中会被忽略并会退到正常的滚动情况。

    5.7K20

    CSS进阶知识

    3 background-clip 指定背景图像的绘画区域 3 background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动。...回流:当页面中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建。这就称为回流(也有人会把回流叫做是重布局或者重排)。每个页面至少需要一次回流,就是在页面第一次加载的时候。...重绘:当页面中的一些元素需要更新属性,而这些属性只是影响元素的外观,风格,而不会影响布局的时候,比如background-color。则称为重绘。 回流必将引起重绘,而重绘不一定会引起回流。...、text-align 浏览器默认属性值问题   由于各浏览器对于HTML标签都存在预设值,所以为了让我们设计的页面在不同的浏览器上显示效果相同,就需要用resetcss。   ...例如 margin 外间距,各大浏览器最常发生不一致的状况,写成了一个 Reset CSS 档案,将 margin 全部统一归 0 ,其他部份,文字大小和行高也全部统成一样的大小 … 等,只要挂上这一段

    21910
    领券