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

别整一坨 CSS 代码了,试试这几个实用函数

进度条会跑到容器外: .loading-thumb { left: 100%; } 这是正常情况,100% 是从进度条末端开始,而进度条本身也有自己宽度,所以实际宽度会大于容器宽度。...动态分割器 考虑下图,我们在两个区域之间有一个行分隔符。 在移动端上,这个分隔符应该变成水平,如下图: 我解决方案是使用一个边框和flex。...它值是 0,因为我们使用是一个CSS边框 (var(--breakpoint) - 100%) * 999 是一个个切换器,根据口宽度在 0px或 100% 之间切换。...min() 函数在 8px 和 calc((100vw - 4px - 100%) * 9999 计算值之间进行比较,这会得到一个非常正数或负数。...9999 是一个很大数字,这样 min 值都是 8px 间距 有时,我们可能需要根据口宽度来改变一个组件或一个网格间距。有了CS函数就不一样了,我们只需要设置一次。

67410

web移动端适配方案实践

Step2: 消除DPR差异 3. Step3: 动态设置 html 标签根字体大小 4. Step4: 将设计图中尺寸换算成 rem 5. Step5: 媒体查询设置body字体大小 6....本文不再对常见概念进行说明,:设备分辨率、DPR、单位、口、meta:viewport等,如果对这类概念不甚了解,可以先去搜索引擎查询了解下。 1....Step2: 消除DPR差异 消除DPR差异只需要将布局口大小设为设备像素尺寸,可以通过修改viewport参数来实现。...Step4: 将设计图中尺寸换算成 rem Step3进行了html根节点文字大小设置,然而意义何在?自然是为了开发者计算方便。...Step5: 媒体查询设置body字体大小 其实完成了上述Step1~4,已经基本完成了移动适配工作,然而,有些情况下,资讯类文字较多页面,如果在屏设备上展示,文字会过大,影响阅读体验,此时需要调整文字大小

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

H5移动端适配原理及方案

移动端适配原理在学习移动端适配原理之前,我们先了解一下在 VSCode 中自动生成 head 标签中 viewport。viewport 可以翻译为 区 或者 口。...如果要实现浏览器适配移动端,首先我们要统一标准口。...单个项目占据主轴空间叫做 main size,占据交叉轴空间叫做 cross size。flex 布局主要是设置 flex 容器对齐方式和 flex 项目的大小形态,上图中四个概念十分重要。...,给容器设置属性用来决定容器项目如何排列,主轴方向、是否换行、主轴和交叉轴对齐方式等,可以理解为宏观设定。...媒体特性书写方式和样式书写方式非常相似,主要分为两个部分,第一个部分指的是媒体特性,第二部分为媒体特性所指定值,而且这两个部分之间使用冒号分隔。

15910

web移动端适配方案实践

本文不再对常见概念进行说明,:设备分辨率、DPR、单位、口、meta:viewport等,如果对这类概念不甚了解,可以先去搜索引擎查询了解下。 1....Step2: 消除DPR差异 消除DPR差异只需要将布局口大小设为设备像素尺寸,可以通过修改viewport参数来实现。...Step4: 将设计图中尺寸换算成 rem Step3进行了html根节点文字大小设置,然而意义何在?自然是为了开发者计算方便。...Step5: 媒体查询设置body字体大小 其实完成了上述Step1~4,已经基本完成了移动适配工作,然而,有些情况下,资讯类文字较多页面,如果在屏设备上展示,文字会过大,影响阅读体验,此时需要调整文字大小...,使得屏展示更多文字内容。

2.9K194

Clamp()、Max() 和 Min() CSS 函数用例

editors=1100 装饰元素 如果你需要在部分项目中添加装饰元素,大多数时候,元素需要响应,并且可能需要根据口大小进行不同定位,你会怎么做? 如下示例效果: 两侧有两个装饰元素。...editors=0100 动态线分隔符 今年早些时候,我写了一篇关于我正在开发 UI 有趣 CSS 解决方案文章。 考虑下图,我们在两个部分之间有一个行分隔符。...它为零,因为我们使用是 CSS 边框。 (var(--breakpoint) - 100%) * 999 根据口宽度在 0px 或 100% 之间切换。...min() 函数在 8px 和 calc((100vw - 4px - 100%) * 9999) 计算值之间进行比较,这将导致非常正数或负数。...间距 有时,我们可能需要根据口宽度更改组件或网格间距。不带 CSS 比较功能!我们只需要设置一次。

1.6K20

【笔记】《计算机图形学》(7)——观察

1.相机变换部分 上图左数两个步骤,对于一个世界坐标系空间中物体,我们将虚拟摄像机相机旋转和移动到需要角度上,然后把物体顶点坐标从世界坐标系转到相机坐标系中 2.投影变换部分 中间步骤,把那个横着金字塔形体压缩为下面规范形状...计算机中相机不会发生散焦等情况,因此在正交投影下调整焦距效果类似于相机在移动 那么最后如何将正交体变换为规范体呢,很显然这也是一个缩放和移动仿射矩阵情况,只是这一次我们无需忽略Z轴值了,三轴都要进行移动和变换...相机变换 再回到流程图中,这就到了最后一个变换部分了,前面的变换都假设物体已经稳稳当当地放在体中了,但实际上我们需要利用变换让相机坐标移动到需要位置并让体对准我们要物体,再把物体坐标从世界坐标系转换到相机坐标系中提供给上面的变换...,我们真正需要其实是顶点之间z深度顺序不变且能保留在体内,实际上z值并不重要,因此我们构造出了下面的矩阵,后面是乘法效果。...在上面的伪代码里,正交透视和透视矩阵乘积合成为了完整透视投影矩阵,这个矩阵在不同API中有一些差别,例如OpenGL中对其每个值两个面的z坐标取了绝对值,但是整体思路都是一样 ?

2K20

CSS Viewport 单位,很多人还不知道使用它来快速布局!

口单位基于页面的根元素,而百分比则基于它们所在容器。因此,它们彼此不同,但各自都有各自用处。 口单位用例 字体大小 ? CSS 口单位非常适合响应式排版。...从容器中挣脱出来 我注意到一个用例最适合编辑版面。 一个子元素,即使父元素宽度受到限制,它也会占据口100%宽度。 考虑下面: ?...垂直和水平间距 我想到另一个有趣用例是使用口单位来表示元素之间间距。这可以与margin、top、bottom和grid-gap等值一起使用。...当口较小(移动)时,通常会减少padding 。 通过使用vmin,我们可以在口较小尺寸(宽度或高度)基础上获得合适顶部和底部 padding。...vw = (Pixel Value / Viewport width) * 100 口宽度用于估计像素值与所需vw单位之间比率。

3.2K30

CSS_Flex 那些鲜为人知内幕

「如果大家对这些概念熟悉,可以直接忽略」 同时,由于阅读我文章群体有很多,所以有些知识点可能「我视之若珍宝,尔草芥,弃之敝履」。以下知识点,请「酌情使用」。...❞ CSS 布局算法 CSS 有不同模式,确定它如何在页面上布局元素。这些模式通常被称为布局算法或布局模式。...❝子元素将「默认」根据以下两个规则定位: 主轴(Primary Axis):子元素将「紧密」排列在容器「起始位置」。 交叉轴(Cross Axis):子元素将「伸展」以「填充整个容器」。...Flexbox算法可能会「将元素收缩到低于这个期望大小」,但「默认情况下,它们将始终按比例缩放,保持两个元素之间比例」。 如果我们不希望元素按比例缩小,可以使用flex-shrink属性。...间距 ❝gap允许我们在每个 Flex 子元素之间创建空间。 ❞ 这对于诸如导航标题之类东西非常有用: 自动边距 margin属性用于在特定元素周围添加空间。

21910

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

,即使大小小于最大宽度。...margin 上面我们说到不建议使用简写版本来居中wrapper 元素: .wrapper { margin: 0 auto; } 虽然它可以工作,但当页面上有多个wrapper ,并且需要在它们之间添加间距时...在上面的HTML中,两个wrapper之间有一个元素。 在这里使用!important很好,因为实用程序类要点是强制属性,通过添加!important,我们可以确保做到这一点。...超出该范围任何字符都会使阅读更加困难。 ? 为避免上述问题,可以使用wrapper来防止文本长度变得过长并在移动设备中增加间距。...对wrapper使用 CSS 变量 只用一种尺寸wrapper很少。 wrapper宽度可以小也可以,具体取决于内容。

3.9K20

图形编辑器开发:网格与网格吸附

大网格和小网格 有时候我们觉得连续网格,不好肉眼测量。此时我们可以引入大网格。有点类似刻度尺,没隔几个小刻度,会绘制一个长一点刻度。 即每 n x n 个小格子组成一个格子。...网格样式 除了网格线,还有另一种网格表示方式:用圆点表示。 点位置对应原来网格线与线之间交点位置。 该效果常见于白板工具。...为了解决网格密度过大问题,通常我们有两种做法。 (1)口上网格间距小到一定程度,就不再显示。Figma 是这么做。...// 最小间距,小于这个要把间距放大 const MIX_SPACING_IN_VIEWPORT = 8; // 口上网格尺寸 const gridSpacingInViewport = zoom...// 最小间距,小于这个要把间距放大 const MIX_SPACING_IN_VIEWPORT = 8; // 口上网格尺寸 let gridSpacingInViewport = zoom *

15310

结构建模设计——Solidworks软件之特征成型中异形孔向导和线性阵列功能实战总结

1)先画一个矩形板和三角形板 ——点击草图,草图绘制,在上基准面上绘制一个中心矩形和三角形 ——标注尺寸,矩形长度100,三角形两直角边长度也是100,两个图形间距30 ——拉伸凸台基体,距离30,...M6,终止条件完全贯穿 ——点击位置栏,鼠标移动到零件视窗需要打开面,点击左键确认打开位置,可通过中心原点调整精确打孔位置 ——下面要打个螺纹孔,操作基本如上,只是此时选择直螺纹孔、GB、底部螺纹孔...、M6、完全贯穿 2 线性阵列         之前草图中也学习到了线性阵列,特征中线性阵列意思差不多,就是将特征或实体进行阵列复制方法。...——点击线性阵列下方三角形按钮,弹出菜单中选择圆周阵列,属性栏中,点击激活方向,再选择刚刚新建基准轴,点击特征和面的空白栏,激活选择,然后选择零件视窗中螺纹孔,设置实例数量为6,选择等间距,360度排列...注意,以上零件是分两部分,左边一个矩形板,右边一个三角板,他们之间并不相连,在Solidworks中,不连续两个部分称为不同两个实体,在设计树中找到实体栏,点击旁边三角形按钮,可见有两个实体(之前说图中裁剪实体

1.8K10

H5移动端开发学习总结

如果把移动设备上浏览器可视区域设为viewport的话,某些网站就会因为viewport太窄而显示错乱,所以这些浏览器就决定默认情况下把viewport设为一个较宽值,比如980px,这样的话即使是那些为桌面设计网站也能在移动浏览器上正常显示了...ideal viewport(完美口):完美适配移动设备viewport,它宽度等于移动设备屏幕宽度。有了完美口,用户不用缩放和拖动网页就能够很好进行网页浏览。...###位图像素### 一个位图像素是栅格图像(:png, jpg, gif等)最小数据单元。每一个位图像素都包含着一些自身显示信息(:显示位置,颜色值,透明度等)。...设置合理间距。 number 设置数字,此数字会与当前字体尺寸相乘来设置行间距。 length 设置固定间距。% 基于当前字体尺寸百分比行间距。...100%;*/ } 我是超大字体 从上图,我们发现字体和父元素上下之间有点小间距

96620

【适配】425- 彻底搞懂移动Web开发中viewport与跨屏适配

维基百科①解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域相关概念。(口和窗口) 口是一个以特定于渲染设备坐标表示区域(通常为矩形)。...6 移动端跨屏适配中 viewport 移动屏幕宽度差距比较小(4-8 英寸),UI 页面通常也会保持一致布局方式,只是文字、图标、图片等可能会根据业务需要做一些定制化处理。...注:Pad 设备虽然也是移动设备,但是因为屏幕足够宽,所以现在多数产品(某宝)方案都是访问 PC 站点了。...(css 中 px 取值需按一倍屏 UI 稿来写); ●布局方案灵活使用相对单位%/float/flex 等,以保证布局横向伸缩和容器内各元素大小间距符合预期; ●组合包裹相关元素,并相对某一方向做定位...在滚动到视图中之前,口外部内容在屏幕上不可见。 ●当前可见口部分称为可视口。这可以小于布局口,例如当用户进行缩放缩放时。该布局口保持不变,但视觉口变小。

2.8K30

前端硬核面试专题之 CSS 55 问

但在菜单栏,或者一些图标的横向排列时,用起来特别方便,一个 float 就解决了,而且每个元素之间不会有任何间距(所以可以用 float 消除元素间距离); ---- svg 与 convas 区别...上下相连两个盒子之间空白,需要相互抵消时。 15px + 20px margin,将得到 20px 空白。 何时应当时用 padding 需要在 border 内测添加空白时。...上下相连两个盒子之间空白,希望等于两者之和时。 15px + 20px padding,将得到 35px 空白。... IE 下可能会出现 FOUC 现象(即样式失效导致页面闪烁问题) ---- 阐述一下CSS Sprites 将一个页面涉及到所有图片都包含到一张图中去,然后利用 CSS background-image...口单位中口”,桌面端指的是浏览器可视区域;移动端指就是 Viewport 中 Layout Viewport。

2K20

彻底搞懂移动Web开发中viewport与跨屏适配

维基百科①解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域相关概念。(口和窗口) 口是一个以特定于渲染设备坐标表示区域(通常为矩形)。...6 移动端跨屏适配中 viewport 移动屏幕宽度差距比较小(4-8 英寸),UI 页面通常也会保持一致布局方式,只是文字、图标、图片等可能会根据业务需要做一些定制化处理。...注:Pad 设备虽然也是移动设备,但是因为屏幕足够宽,所以现在多数产品(某宝)方案都是访问 PC 站点了。...(css 中 px 取值需按一倍屏 UI 稿来写); ●布局方案灵活使用相对单位%/float/flex 等,以保证布局横向伸缩和容器内各元素大小间距符合预期; ●组合包裹相关元素,并相对某一方向做定位...在滚动到视图中之前,口外部内容在屏幕上不可见。 ●当前可见口部分称为可视口。这可以小于布局口,例如当用户进行缩放缩放时。该布局口保持不变,但视觉口变小。

3.2K20

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

这是另一回事,但尽量使用 flex-wrap 来避免意外布局行为(在我们例子中,是水平滚动)。 2.间距 我们开发者需要考虑不同内容长度。这意味着,间距应该添加到组件中,即使它看起来不需要。...使用 justify-content:space-between 在一个 flex 容器中,我们可能会使用 justify-content 来使子项目之间有一定间距。...每个项目之间间距不是 gap 或 margin,它之所以存在是因为容器有 justify-content: space-between。...,这在小口尺寸上会出现问题。...布局移动发生原因是为滚动条保留了一个空间。 Scrollbar Gutter 是内边框边缘和外填充边缘之间空间。 对于经典滚动条,Scrollbar Gutter 大小与滚动条宽度相同。

4.3K30

web前端学习摘要。

设置文本阴影效果 line-height 设置文本行高 overflow 设置文本(容器内部内容)溢出控制方式 letter-spacing 设置字符之间间距 word-spacing...设置词语之间间距 word-break 设置文本自动换行方法 1. text-align:必须用于块状元素,,。...可以通过添加多组值来设定多重阴影,达到特殊效果,多组值之间用逗号隔开。部分老浏览器版本不支持该属性(IE9及以下),但这并不产生影响。...8. letter-spacing:设置单个字符之间间距。指定间距将被添加到字符之后,通常以字号为参考,使用相对单位来控制间距。可以使用负值。...9. word-spacing:设置单个词语之间间距。判断单词或词语依据是文本间“空格”,指定间距将被添加到单词或词语之后,但最后一个词除外。通常以字号为参考,使用相对单位来控制间距

3.6K30
领券