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

【移动端网页布局】Flex 弹性布局案例 ③ ( 横向导航栏 | 固定定位下面的布局设置 | 设置横向导航栏弹性布局 | 弹性布局主轴和侧轴设置 | 二倍精灵图 )

一、横向导航栏实现核心要点 需求 : 实现如下布局 ; 上一篇博客中 , 已经实现了顶部的搜索栏 , 本篇博客开始实现后续部分 ; 1、固定定位下面的布局设置 在上一篇博客中实现的搜索栏 , 使用.../* 设置图片自适应 */ width: 100%; } 2、设置横向导航栏弹性布局 下面的横向导航栏 , 高度为 64 像素 , 同时该父容器是一个圆角矩形 , 圆角半径为 8 像素 ; 该导航栏...上下各有 3 像素的外边距 , 左右各有 4 像素的外边距 ; 导航栏整体背景为白色 ; 在该横向导航栏中 设置了 5 个元素 , 这里可以使用百分比布局实现 , 也可以使用 Flex 弹性布局实现...; 将父容器设置为 Flex 弹性布局 , 同时为子项目设置 flex: 1; 样式 , 这样 5 个子项目平均分配整个宽度尺寸 ; 样式代码 : /* 横向导航栏样式 */ .local-nav...二倍精灵图设置步骤 : 缩小精灵图 : 在 Firework 中 , 将精灵图缩小一半 ; 测量坐标 : 在缩小一半的精灵图中测量坐标 ; 设置代码 : 将代码中的 background-size 缩小一半

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

    CSS布局相关及Flex详解

    多栏布局 css3中加入了多栏布局,可以将一个元素中的内容分为两栏或者多栏显示,并且确保各栏中内容的底部对齐。...如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。...flex-shrink:定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小 flex-shrink同flex-grow属性,当子元素宽度(或高度)大于父容器元素的宽度(或高度)时,将溢出的宽度...计算获得a和c的宽度为:600,b的宽度为:-200。实际宽度如下图: ? 注意:如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。...如果一个项目的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。 占据空间 flex-basis:定义了在分配多余空间之前,项目占据的主轴空间(main size)。

    1.4K51

    使用CSS Flexbox 构建可靠实用的网站 Header

    基于前面的 header 设计,我扩展了 header 元素的一些选项,如添加按钮、搜索输入和更改子项目的顺序。...Header 变化 1 image.png 假设我想要在导航链接旁边添加了一个按钮。这应该如何处理?我们应该把它作为链接添加到导航栏中吗?还是应该和导航分开?我更喜欢这样做。....brand, .nav, .button { flex: 1; } image.png 这样,由于flex: 1,按钮元素变宽了, 解决此问题的唯一方法是将其包裹到另一个元素中。...使用 Flexbox 构建 Header 的有用技巧 flex-basis 如果某个元素需要在移动设备上占据整个宽度(不能隐藏的重要导航),我会使用flex-basis: 100% ?。 ?...有时,可能还有其他元素,我们想确保导航是最后一个。 加上一个等于宽度等于 padding 的负 margin,这也会让导航占据整个宽度。 在导航中添加 padding,这会增加一些适当的空间。

    1.7K30

    使用Grid和Flex打造响应式布局:让你的网站“随遇而安”

    当然啦,实现这种神奇的效果并不是靠魔法,而是靠我们前端开发人员的智慧和技巧。想象一下,你正在用手机浏览一个网站,突然想换个姿势,于是拿起了平板电脑。...我们可以把网站的导航栏、内容区域和侧边栏都放在一个Flexbox容器中,然后根据设备的屏幕大小自动调整它们的排列和样式。接下来,我们需要使用媒体查询来实现不同设备上的不同布局和样式。...我们可以根据设备的屏幕大小来应用不同的CSS样式,从而实现响应式设计。比如,在小屏幕设备上,我们可以把导航栏变成一个汉堡菜单;在大屏幕设备上,我们可以把导航栏水平排列。...默认情况下,元素的伸缩比例为1,表示元素会尽可能地占用可用空间;收缩比例为1,表示元素会在必要时缩小以适应容器;基础宽度为auto,表示元素的初始宽度由其内容决定。...在这个例子中,当容器的宽度小于等于602px时,卡片项会垂直排列;当容器的宽度大于602px时,卡片项会水平排列。

    69721

    深入了解 Flex 属性

    项目宽度 = (( flex-grow / flex-grow 总个数) * 可用空间)+ 初始项目宽度 多个 flex-grow 值 在前面的示例中,所有flex项目的flex-grow值都相同。...flex-shrink 属性 flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。 考虑下面的例子:中间的项目宽度为300px,flex-shrink的值为`。...如图所示,在视口宽度大于300px时,宽度为300px,少于 300px,该项目的宽度就被压缩成跟视口一样的宽度。 大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】。....item-1 { flex-grow: 0; flex-shrink: 0; flex-basis: 50%; } ? 在上面的例子中,第一项的宽度为50%。...如果想让一个标题填满所有可用的空间,使用flex: 1非常适合这种情况。

    1.6K30

    CSS_Flex 那些鲜为人知的内幕

    假设大小(Hypothetical size) 假设我有以下的 CSS: .item { width: 2000px; } 我们第一直觉就是「我们将得到一个宽度为 2000 像素的项目」。...当我们设置width: 2000px时,我们肯定能到一个宽度为 2000 像素的元素,即使它已经超过当前视口的宽度。 ❝然而,在 Flexbox 中,width属性的实现方式不同。...flex-shrink 控制项目大于其容器时空间的「移除方式」。 这意味着这两个属性中只能有一个生效。如果有额外的空间,flex-shrink没有影响,因为项目不需要缩小。...一个常见的页眉布局特点是在一侧放置标志,而在另一侧放置一些导航链接。...❝使用flex-wrap: wrap,我们「不再有一个可以穿过每个项目的单一主轴线」。实际上,「每一行都充当其自己的小型 Flex 容器」。 ❞ 当我们有多行时,交叉轴现在可能与多个项目相交!

    29710

    关于响应式布局,你需要了解的知识点

    对于美团官网来说,他们就把顶部的导航栏隐藏起来,需要通过点击左上角的菜单按钮才能显示,如下图所示。...实战案例 上面举了一个小案例,向大家简单说明了如何使用 @media 实现响应式布局。这里我再举一个实战项目的例子,让大家更深刻地理解响应式布局。...我们还是举美团官网这个例子:美团官网在浏览器宽度小于 1280px 的时候,会将导航栏隐藏起来。在导航栏宽度大于 1280px 的时候,会讲导航栏显示出来,如下图所示。...为了较好地解释实现原理,我们用如下的 html 代码代表美团导航栏的实现。...,我们想针对所有屏幕宽度小于768px的设备应用某些样式,那么我们可以这么写: @media (max-width:768px) { /* … */ } 如果我们想针对所有屏幕宽度小于 768px

    51510

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

    在这篇文章中,我将强调几个例子,说明我们可以将一个CSS选择器和:has结合起来,形成一个有条件的组件/布局状态。...原因是,添加display: flex将迫使每个项留在自己的行中,这与要实现的设计不一致。...-- more items --> 如果我们不这样做,display: inline-flex的效果将与display: flex相同。解决这个问题的一个方法是将宽度减少1%。...在这个例子中,我想让时间线在有4个或更多项时,从垂直列表切换到交替式。...结合现代的CSS功能可以让我们以令人兴奋的新方式来构建布局,这篇文章的例子也不例外。 根据项目的数量来改变样式可能不是一次性的用法,它可以被提取到不同的用例中。

    21830

    熟悉HTML页面架构和常用布局

    时间久了,我感到了焦虑,由于公司是非互联网,开发也是根据自己已知技术去开发,技术成长很慢,技术氛围没那么强,想突破一下自己, 是该逃离舒适区了。...注意: 任何一个容器都可以指定为 Flex 行内元素也可以指定为 Flex 布局, display: inline-flex; Webkit 内核的浏览器,必须加上-webkit前缀。...该属性用来指定子元素在父容器中按比例指定大小,如果每一项都指定比例相同的话,那么元素会平分排列布局。...flex-shrink 属性:定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。 flex-basis 属性:定义了在分配多余空间之前,项目占据的主轴空间(main size)。...JS实现方法: 固定死图片的宽度, 图片放置到一个数组中, 浏览器根据动态识别宽度来判断当前显示多少项,然后遍历数组,将url 放置 src 中, 下拉刷新数据,重新调取请求数据接口,push到数组中

    1.4K20

    Framer 使用滚动变体创建动画

    Demo1: 实现一个滚动到不同部分,修改导航栏的背景颜色的效果 创建导航栏组件 第一步就是创建一个导航栏组件 可以直接按下命令 K 并调出快捷菜单。...然后输入组件名字,就可以进入到组件编辑页面了 然后我们创建一个最基本的导航栏(默认) 左边放入LOGO 右边放入包裹每一菜单项的大盒子 也就是导航栏 采用flex布局, 子项y方向垂直居中, x方向左右两端分布..., 左右两边加入内边距padding 每一项的item 也是flex伸缩盒布局, 子项垂直水平居中 紧接着我们复制这个组件两份,分别修改背景颜色为黑色 和黄色 最终效果: 然后我们组件就完成了,...第三步: 添加滚动变体效果,滚动到不同部分,选择不同的组件即可. 这里我就不把属性图进行贴出了, 和上面第一个创建方法一致. 大家可以自己试一下....结语 可以自己想一下有哪些好玩的创意可以应用到网站上面的.

    10010

    uni-app入门教程(2)页面样式、配置文件和生命周期

    设计稿1px与框架样式1px转换公式为设计稿 1px / 设计稿基准宽度 = 框架样式1px / 750px,换言之,页面元素宽度在uni-app中的宽度计算公式为750px * 元素在设计稿中的宽度...显然,导航栏的背景颜色已经生效。 pages 接收一个数组,来指定应用由哪些页面组成。每一项代表对应页面的信息,应用中新增、减少或修改页面,都需要对pages数组进行同步修改。...在页面的onLoad函数里面得到 } ] } } 其中,pages数组中的每一个page还可以通过style参数定义当前页面的样式,来设置每个页面的状态栏、导航条、标题、窗口背景色等,具体参数如下...tabBar 如果应用是一个多 tab 应用,可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页。...; tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序,数组中的每个项都是一个对象,其属性值如下: 属性 类型 必填与否 说明 pagePath String

    2.8K30

    只要一行代码,实现五种 CSS 经典布局

    flex: flex-grow> flex-shrink> flex-basis>; flex-basis:项目的初始宽度。 flex-grow:指定如果有多余宽度,项目是否可以扩大。...flex-shrink:指定如果宽度不足,项目是否可以缩小。 flex: 0 1 150px;的意思就是,项目的初始宽度是150px,且不可以扩大,但是当容器宽度不足150px时,项目可以缩小。...如果写成flex: 1 1 150px;,就表示项目始终会占满所有宽度。 ? ? ? 三、两栏式布局 两栏式布局就是一个边栏,一个主栏。 ?...五、圣杯布局 圣杯布局是最常用的布局,所以被比喻为圣杯。它将页面分成五个部分,除了页眉和页脚,内容区分成左边栏、主栏、右边栏。 ? 这里的实现是,不管页面宽度,内容区始终分成三栏。...第一部分(页眉和左边栏)和第三部分(页脚和右边栏)都是本来的内容高度(或宽度),第二部分(内容区和主栏)占满剩余的高度(或宽度)。

    1.8K20

    【移动端网页布局】Flex 弹性布局案例 ② ( 顶部固定定位搜索栏 | 固定定位盒子居中对齐 | 二倍精灵图设置 | CSS3 中的垂直居中对齐 )

    (-50%); /* 向左走盒子自身宽度的一半 */ transform: translateX(-50%); 2、设置最大宽度和最小宽度 在移动端网页中 , 一般都要设置一个 最大宽度...; /* 设置最大和最小宽度 */ min-width: 320px; max-width: 640px; 3、使用 Flex 弹性布局管理宽度 在搜索框中 , 左侧是搜索栏..., 右侧是搜索按钮 ; 右侧的搜索按钮始终都是 44x44 像素大小 ; 左侧的搜索栏随着网页布局的宽度变化而变化 ; 此处 使用 Flex 弹性布局管理宽度 , 右侧的按钮直接设置一个固定大小 , 左侧的搜索框设置...flex: 1; 样式 , 也就是 自动占据剩余空间 ; Flex 子项目的 flex 样式默认都为 0 , 只要有一个子项目设置了 flex: 1; 样式 , 那么该子项目就会自动占据剩余的所有空间...-- 搜索栏右侧按钮 --> 我 的 2、CSS 样式 body {

    37920

    【CSS】1287- 一行 CSS 实现 10 种强大的布局

    我想让您知道,使用 place-items: center 会让此操作比您想象的容易。...正因为如此,如果您想让您的框填充到它们的 flex-basis> 大小,缩小到更小的尺寸,但不拉伸以填充任何额外的空间,请写入:flex: 0 1 flex-basis> 。...1 1 150px; } 现在,当您增加或减少屏幕尺寸时,这些 flex 项目会缩小和增长。...在这种情况下,标题的字体大小将始终保持在 1.5rem 和 3rem 之间,但会根据 20vw 实际值增大和缩小以适应视口的宽度。...不过,我确实想提及这一点,因为这是一个经常遇到的问题。这只是简单地保持图像的宽高比。 使用 aspect-ratio 属性,当我调整卡片大小时,绿色视觉块保持 16 x 9 的宽高比。

    4.7K20

    vue中使用viewerjs

    ViewerDom = document.getElementById('index'); const viewer = new Viewer(ViewerDom, { // 相关配置项,...是否显示查看图片时右上角的关闭按钮 navbar Boolean / Number true 是否显示底部导航栏 0 或者 false :不显示 1 或者 true :显示 2 :当屏幕宽度大于768px...array 第一个参数表示可见性(0-4) 第二个参数就是标题 toolbar Boolean / Number / Object true 标题栏是否显示和布局 0 或者 false 时不显示1或者...,应该图像元素的属性之一如果是一个函数,应该返回一个有效的图像URL container Element / String body 将查看器置于modal模式的容器 只有在 inline为 false...zoomOut 缩小图片的按钮 reset 重置图片大小的按钮 prev 查看上一张图片的按钮 next 查看上一张图片的按钮 play 播放图片的按钮 rotateLeft 向左旋转图片的按钮 rotateRight

    3.4K20
    领券