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

不要在按钮、链接或任何其他文本容器上使用固定的 CSS 高度或宽度

如果对影响元素计算高度和宽度的 CSS 属性使用固定值,当文字大小增大时,元素内部的文字会被截断。 还不信服? 你可能会想:"但当我把浏览器放大到 200% 时,按钮文本看起来很好!"...这可能是这个标准的一个常见误解。我以前不知道浏览器缩放只是问题的一部分!...处理起来比你想象的更容易! 代码演示 注意:为了这些演示的目的,请假装我们使用 rem 单位设置 font-size。我在这里使用 px 单位,以免继承我的网站的基本字体样式。...根据我的经验,随着视口尺寸的缩小,我发现这种方法更难维护。 想象一下,一个具有大文本大小设置的移动设备。使用 em 单位设置的文本容器可能会比视口宽。...CSS 属性,如 max-width ,但我个人更倾向于使用尽可能少的 CSS 属性(以降低长期维护成本)。

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

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

    你可能也发现了,当对话框中含有可滚动内容时,一旦滚动至对话框的边界,对话框下方的页面内容也开始滚动了——这被称为“滚动链”。 。...这是由于使用了固定宽度。 .button { width: 100px; } 如果按钮的标签大于100px,它将靠近边缘。如果它太长,文本会泄露出来。这是不好的!...12.小心CSS网格中的固定值 假设我们有一个包含aside和main的网格。...CSS网格中的最小内容尺寸 与flexbox类似,CSS grid对其子项目有一个默认的最小内容尺寸,即auto。这意味着,如果有一个元素比网格项大,它将溢出。...一旦使用不当,会导致意外的结果。 当使用minmax()函数时,auto-fit关键字将扩展网格项目以填补可用空间。而auto-fill将保留可用的空间,而不改变网格项的宽度。

    4.4K30

    CSS布局那点事儿

    布局 最开始老的一代网站开发,布局都是通过表格实现的。 这样可以形成规整的网格布局,但是也会带来一定的复杂性。比如想要新增某个页面元素,就有可能要改动整个表格,添加很多无用的行或者列。...后来,衍生出不少的CSS框架,他们屏蔽了底层的css语法,只需要按照特定的使用方式就能实现网格布局。...CSS布局 网上有很多关于布局的文章,什么双飞翼啊等等。 这里先从最原始的来介绍。...这是因为如果全部采用向左浮动,如果主体部分由文本换行等,由于像素的偏差可能导致最右边的文本框挤出屏幕,导致无法阅读。...这时,如果文本内容缩小的很小,宽度很窄可能会影响阅读,因此需要把宽度设置为一个最小值。只有屏幕宽度大于一定的值时,页面才会随之改变。类似的,避免屏幕过大网站拉伸变形,也可以设置一个最大的宽度值。

    85950

    深挖 Threads App 帖子布局,我进一步加深了对CSS网格布局的理解

    我很好奇选择这个名字的原因。 帖子布局由2列* 4行网格组成。...使用固定大小行的限制 由于前两行的固定宽度,无法向它们添加填充。然而,只要您意识到这个限制,就可以通过使用边距来解决。 以下是一个例子: 由于行大小固定,添加顶部和底部填充不会影响帖子标题。...布局列之间的空间感觉有点乱 目前布局列之间的间隔为零。相反,图像的大小为36 * 36像素,而其容器的宽度为48像素。 这样可以模拟这里的间距。...我不知道为什么团队会选择这种方法,但我更喜欢使用gap属性。 为什么不使用命名的CSS网格区域呢? 根据我目前观察到的情况,有三种网格布局变体,它们都可以受益于使用命名网格区域。...网格的内联CSS变量 我很高兴看到像Threads这样的大型应用程序正在使用我和许多其他人提倡的东西。 在用户个人资料中,选项卡网格布局是使用包含选项卡数的内联CSS变量构建的。 很有用。

    17820

    我如何用一行Css代码使谷歌浏览器的数据网格滚动快10倍

    这就是我所看到的:DevTools / Performance 滚动"顶部链接站点"数据网格的性能配置文件,非常低的 FPS "任务"块上的那些红耳朵表明,在滚动时,某些东西需要的时间比可接受的时间要长...对于此记录,它显示时间主要用于更新图层,如紫色方块中的文本所示,其中表示:Update layer tree: 瀑布图显示, “Update layer tree” 是使滚动变慢的原因。...第 5 步 - 改善情况 基于性能配置文件中的数据,我怀疑在滚动网格时,整个页面都已布局。并且指出许多要素的成本很高。要是有办法限制效果就好了 ... ......我只是在面板上添加了一行CSS,说明它不会影响页面上其他元素的布局或样式: on the Elements table { contain: strict; } 如这里所示: 就这样...了解更多关于CSS contain 在 MDN. 植入广告:如果您需要一个可执行的数据网格处理 10 万+行与平滑滚动,请务必查看 Bryntum 网格 (由我和我的同事开发).

    2.2K10

    CSS中各种布局的背后(*FC)

    这些真的不是我YY出来的,W3C 里真的有这么多概念好吗!!!感觉进坑了啊!!!...在垂直方向上,这些框可能会以不同形式来对齐(vertical-align):它们可能会使用底部或顶部对齐,也可能通过其内部的文本基线(baseline)对齐。...能把在一行上的框都完全包含进去的一个矩形区域,被称为该行的行框(line box)。行框的宽度是由包含块(containing box)和存在的浮动来决定。...IFC 中的 line box 高度由 CSS 行高计算规则来确定,同个 IFC 下的多个 line box 高度可能会不同(比如一行包含了较高的图片,而另一行只有文本)。...垂直居中:创建一个IFC,用其中一个元素撑开父元素的高度,然后设置其 vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。

    2.2K50

    【CSS】课程网站 网格商品展示 模块制作 ② ( 网格商品展示盒子模型测量及样式 | 处理列表间隙导致意外换行问题 | 代码示例 )

    文章目录 一、网格展示盒子模型测量及样式 1、盒子尺寸测量 2、处理列表间隙导致意外换行问题 3、列表项测量及样式 二、网格展示盒子模型代码示例 1、HTML 标签结构 2、CSS 样式 3、展示效果...绘制矩形框中的部分 : 一、网格展示盒子模型测量及样式 ---- 1、盒子尺寸测量 绘制如下样式排列的盒子 , 该盒子建议不要设置高度 , 这样盒子可以放若干行 , 由盒子中列表的元素个数 , 自动决定放几行...一排有 5 个 228x270 的盒子 , 其中间隙 15 像素 , 版心的宽度为 1200 像素 ; 228 * 5 + 15 * 4 = 1200 像素 , 但是最后一个盒子右侧添加 15 像素的右边距地话..., 会导致最后一个元素掉到第二行 , 这里需要将最后一个元素的右边距去掉 ; 解决上述问题有 2 个方案 : 将最后一个元素的右边距去掉 ; 将盒子宽度从 1200 像素修改为 1215 像素 ; CSS...样式如下 : /* 网格商品展示 */ .box-bd { /* 处理列表间隙导致意外换行问题 一排有 5 个 228x270 的盒子 , 其中间隙 15 像素 228 * 5 +

    2.4K20

    前端基础篇之CSS世界

    我想你每天写css代码有时候也会觉得很痛苦:这个布局的css怎么这么难实现!我也经常会有这种感觉,一个看似简单的布局总是要琢磨半天才能实现,偶尔还会出现一些怪异的超出理解的现象。...这是因为我们对css只是大概知道个形,并没有看透css的本质。在同事的推荐下我阅读了张鑫旭老师的《css世界》,才发现css跟想象中的不太一样。...幽灵空白节点:内联元素的每个行框盒子前面有一个“空白节点”一样,这个“空白节点”不占据任何宽度,无法选中获取,但是又实实在在存在,表现就如同文本节点一样。...参见阮一峰大佬的CSS Grid 网格布局教程。 ? 文本控制 以下css属性为文本相关。 `::first-letter` 应用实例 ::first-letter选中首个字符:地址 ?...下面代码设定空格间隙是20px,也就是说空格现在占据的宽度是原有的空格宽度+20px的宽度: 我有空 格,我该死......

    2.1K50

    BootStrap应用开发学习入门

    、背景的基本结构 CSS样式: BS中已经定义好了一套CSS的样式表 布局组件: 用于创建图像、下拉菜单、导航、警告框、弹出框等等 JS插件: BootStrap定义了一套JS的插件,这些插件已经默认实现了很多种效果...WeiyiGeek.浏览器支持情况 (1) 移动设备优先策略 内容:决定什么内容是最重要的 布局:优先设计更小的宽度,基础的 CSS 是移动设备优先,媒体查询是针对于平板电脑、台式电脑。...-- 内联子标题 --> 我是标题1 h1. 我是副标题1 h1, 得到一个字号更小的颜色更浅的文本 这是一个普通的段落。...您可以很轻易地改变带有 .col-md-push-* (推)和 .col-md-pull-* (拉)类的内置网格列的顺序,其中 * 范围是从 1 到 11。 基础示例: 框组扩展自表单控件。使用输入框组,您可以很容易地向基于文本的输入框添加作为前缀和后缀的文本或按钮。

    17.6K20

    【面试题解】CSS布局,定位布局,浮动布局,BFC,IFC,FFC,GFC

    line boxes 的高度取决于 line-height。 通过 line-height 可以设置单行文本的垂直居中。...浮动后的元素可以设置宽度和高度,也就是说内联元素浮动后会变成块级元素。...行框的宽度是由包含块和与其中的浮动来决定; IFC 中的行框一般左右边贴紧其包含块,但 float 元素会优先排列; IFC 中的行框高度由 CSS 行高计算规则来确定,同个 IFC 下的多个行框高度可能会不同...; 当 IFC 中盒子的总宽度少于包含它们的行框时,其水平渲染规则由 text-align 属性值来决定; 当一个行内元素超过父元素的宽度时,它会被分割成多个盒子,这些盒子分布在多个行框中。...网格布局格式化上下文 GFC( GridLayout Formatting Contexts ),当一个元素设置为 display:grid 的时候,此元素将获得一个独立的渲染区域,可以在网格容器上定义网格行和列

    1.6K30

    BootStrap应用开发学习入门

    、背景的基本结构 CSS样式: BS中已经定义好了一套CSS的样式表 布局组件: 用于创建图像、下拉菜单、导航、警告框、弹出框等等 JS插件: BootStrap定义了一套JS的插件,这些插件已经默认实现了很多种效果...WeiyiGeek.浏览器支持情况 (1) 移动设备优先策略 内容:决定什么内容是最重要的 布局:优先设计更小的宽度,基础的 CSS 是移动设备优先,媒体查询是针对于平板电脑、台式电脑。...-- 内联子标题 --> 我是标题1 h1. 我是副标题1 h1, 得到一个字号更小的颜色更浅的文本 这是一个普通的段落。...您可以很轻易地改变带有 .col-md-push-* (推)和 .col-md-pull-* (拉)类的内置网格列的顺序,其中 * 范围是从 1 到 11。 基础示例: 框组扩展自表单控件。使用输入框组,您可以很容易地向基于文本的输入框添加作为前缀和后缀的文本或按钮。

    14.6K30

    分享 10 个 常用且必须要掌握的 CSS 知识点

    Web 浏览器将每个元素呈现为标准 CSS 框模型所描述的框。 CSS 确定这些框的位置、大小和属性,例如,颜色、高度、宽度、边框、背景等。...简单来说,它就像一个显示文本、图像、视频等的框,通过使用宽度和高度等属性来调整大小。内容区包含元素的主要内容。内容包括文本、图像或视频。 2、填充: 填充在其边界内围绕元素创建空间。...其中最好的是: CSS 网格布局 Firefox 开发工具 Firefox 拥有惊人的 CSS 开发者工具。其中之一是网格容器。当我们检查一个网格项时,它会可视化整个网格容器的布局。...网格的宽度需要小于容器的宽度才能让 justify-content 产生效果。 justify-content 可以具有以下值。...与 justify-content 一样,网格的宽度需要小于容器宽度才能产生效果。

    6.9K10

    理解 CSS 布局和 BFC

    块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...如果我删除了一些文本,那么就没有足够的内容来包围图像,而且由于浮动被从文档流中脱离,所以边框会上升,并在图像下方,直到文本的高度。 ?...这是因为当我们浮动一个元素时,文本所在的框的宽度保持不变,为给浮动元素腾出空间而缩短的是文本的行框。这就是为什么背景和边框会出现在浮动后面的原因。 我们通常有两种方法来解决这个布局问题。...我可以通过将包裹文本的 div 设置为 BFC 来防止这种包裹行为。 .text { overflow: auto; } ? 这实际上是我们创建具有多个列的浮动布局的方法。...理解浏览器如何布置网页是非常基础的。 虽然有时看起来无关紧要,但是这些小知识可以加快创建和调试 CSS 布局所需的时间。 你的点赞是我持续分享好东西的动力,欢迎点赞!

    1.2K00

    理解 Css 布局和 BFC

    块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...float示例 如果我删除了一些文本,那么就没有足够的内容来包围图像,而且由于浮动被从文档流中脱离,所以边框会上升,并在图像下方,直到文本的高度。 ?...删除一些文本 这是因为当我们浮动一个元素时,文本所在的框的宽度保持不变,为给浮动元素腾出空间而缩短的是文本的行框。这就是为什么背景和边框会出现在浮动后面的原因。 我们通常有两种方法来解决这个布局问题。...带有 float 类的项 我可以通过将包裹文本的 div 设置为 BFC 来防止这种包裹行为。 .text { overflow: auto; } ?...这是由于overflow属性的设计是用来让你告诉浏览器如何定义元素的溢出状态的。浏览器执行了它最基本的定义。

    1.4K00

    提高 CSS 的 5 个技巧

    CSS 应该是简单的,并且可以对一些关键特性有正确的了解。...{ border: 10px solid red; width: 200px; padding: 10px; margin: 10px; } 这将是您的默认输出,其中中心框很200px...因此,如果您的框应该是 200px,则它是 200px 而不是 240px。 边距相互抵消 好吧,我经常看到人们忘记这个,而不是经常提到的事情。...多行 2,3,n 列布局 它主要用于复制行之类的,我通常为此使用网格 对于这个例子,我想创建一个 3 列网格,我们不知道有多少元素进入其中,因为元素数量发生了变化。...使用表来设置样式表 我已经尝试了很多次使用网格、弹性框、浮动,当你做对时,表格中就有这么多。 这是我认为我花费最多时间来正确设置样式的事情之一,而且当你正确使用表格时,通常会更容易使用。

    1.1K20

    如何学习 CSS

    很多人想让我给他们推荐有关CSS部分的教程,或者问我如何学习CSS。 我也看到很多人对CSS的部分内容感到困惑,一部分原因是由于对语言的过时认识。...因此,本文旨在概述CSS的关键基础和资源,以便进一步阅读现代CSS开发的关键领域。 其中许多资源在Smashing杂志上已经有了,但我也选择了其他一些资源,也有人关注CSS的关键领域。...标准的CSS框模型接受给定元素的宽度,然后将内边框和边框添加到该宽度上——这意味着元素占用的空间大于给定的宽度。...最近,我们已经能够选择使用IE盒模型,使得元素上的给定宽度作为屏幕上可见元素的宽度。 任何内边距或边框都会从边缘插入框的内容。 这对许多布局更有意义。 在下面的演示中,我有两个盒子。...两者的宽度均为200像素,边框为5像素,内边距为20像素。 第一个框使用标准框模型,因此占用总宽度为250像素,第二个框使用IE盒模型,因此实际上是200像素宽。

    1.8K10

    【CSS】课程网站 网格商品展示 模块制作 ① ( 网格商品展示模块盒子模型测量及样式 | 顶部文本标题盒子测量及样式 | 代码示例 )

    标签结构 2、CSS 样式 3、展示效果 绘制矩形框中的部分 : 一、网格商品展示模块盒子模型测量及样式 ---- 1、盒子尺寸测量 下面的 网格商品展示模块盒子模型 , 可以分为三个盒子 ,...最外层的大盒子 , 宽度充满版心 , 1200 像素 ; 顶部的标题所在的盒子 , 宽度也是 1200 像素 ; 下面的列表所在的盒子 , 宽度 1200 像素 , 但是高度不进行设置 , 根据需求灵活设置显示...1 行 , 2 行 或 3 行 ; 2、标题盒子尺寸测量和样式 文本所在盒子 , 与 顶部的导航栏有 15 像素间隔 , 这里使用 上外边距 设置 ; /* 网格商品展示模块大盒子 距离上面的 导航栏...-- 顶部的标题 --> 我的课程表 网格商品展示模块 - 结束 --> 2、CSS 样式 核心代码 : /* 网格商品展示模块样式 */ /* 网格商品展示模块大盒子 距离上面的 导航栏 15

    4.3K40

    CSS Flexbox 布局完全指南 (一):4000字,多示例讲解

    要注意的几点 - 这篇文章预设你是一名中级开发者,并且对 Flexbox 有点了解,不过...... - 如果你对 CSS 有些了解,完全不知道 Flexbox,我写了一篇综合指南(免费文章,阅读时间约为...46 分钟) - 如果你对 CSS 掌握得不是很好,我推荐你阅读 CSS 全面(实用)指南(74 课时的付费课程) - 你不需要遵照这里列出的示例顺序 - Flexbox 只是一种布局的技巧,实际项目中涉及到的东西除了布局还有很多...由于子元素排列需要更大的宽度,所以子元素不能在父元素内排列时就会换行。 接下来我们给 .card 元素一个初始宽度。...一组列宽度相同的基础网格 这些网格有以下特点: - 网格单元格平均布局并充满整行 - 单元格高度一致 使用 Flexbox 很容易实现这个效果,看下面这个标识文本: CSS 网格布局这份资料了解更多 CSS 网格布局的解决方案。 更多示例将在文章 Part 2 展示。

    4.5K20
    领券