”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 每个 UI 开发人员都应该知道的聪明的 CSS 行话

每个 UI 开发人员都应该知道的聪明的 CSS 行话

发布于2024-11-02
浏览:134

Clever CSS One-Liners Every UI Developer Should Know

简介:简洁 CSS 的力量

作为一名 UI 开发人员,您总是在寻找简化代码并创建更高效​​、更引人注目的设计的方法。 CSS(层叠样式表)是您的武器库中的基本工具,掌握它可以显着提高您的生产力和工作质量。在这篇博文中,我们将探索 15 个独特的 CSS 行话,它们可以彻底改变您设计网页的方法。

这些紧凑的 CSS 技巧不仅可以节省时间,而且还展示了 CSS 的多功能性和强大功能。无论您是经验丰富的专业人士还是刚刚开始 UI 开发之旅,这些俏皮话都将为您的技能组合增添价值,并帮助您用更少的代码创建更精美、响应更快的设计。

让我们深入研究这些 CSS gem,看看它们如何改变您的开发过程!

1. 完美的对中技术

网页设计中最常见的挑战之一是将元素水平和垂直居中。这是一个 CSS 单行代码,可以轻松实现这一点:

.center {
  display: grid; place-items: center;
}

这个简单而强大的 CSS 技巧使用 CSS 网格将任何子元素置于其父容器中。 display: grid 属性创建一个网格容器,而 place-items: center 将网格项(在本例中为子元素)水平和垂直对齐在中心。

此方法适用于容器内的单个元素和多个元素。这是一个多功能的解决方案,可以让您免于为不同场景编写复杂的居中代码。

2. 响应式文本大小调整变得简单

创建响应式排版可能是一项挑战,但这个 CSS 一行代码使它变得轻而易举:

body {
  font-size: calc(1rem   0.5vw);
}

这种 calc() 函数的巧妙使用结合了基本字体大小 (1rem) 和视口宽度相关值 (0.5vw)。随着视口宽度的变化,字体大小也会相应调整,确保您的文本在不同的屏幕尺寸上仍然可读。

这种方法的优点在于它的简单性和灵活性。您可以通过修改计算中的值轻松调整基本尺寸和变化率。

3. 自定义滚动条样式

自定义滚动条可以为您的网站设计增添独特的风格。这是一个单行代码,允许您在基于 webkit 的浏览器中设置滚动条的样式:

::-webkit-scrollbar { width: 10px; background: #f1f1f1; border-radius: 10px; }

此 CSS 技巧针对 webkit 浏览器(如 Chrome 和 Safari)中的滚动条伪元素。您可以调整宽度、背景颜色和边框半径以符合您的设计偏好。虽然这不适用于所有浏览器,但对于支持它的浏览器来说这是一个很好的增强。

4. 创建截断文本效果

处理动态内容时,经常需要截断超过一定长度的文本。这个CSS单行代码为溢出的文本创建了省略号效果:

.truncate {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

这种属性组合可确保文本保持在单行上(white-space: nowrap),隐藏任何溢出(overflow: hide),并在截断文本的末尾添加省略号 (...) (文本溢出:省略号)。

5.整个页面平滑滚动

实现平滑滚动可以极大地增强网站的用户体验。这是一个简单的 CSS 单行代码,可实现整个页面的平滑滚动:

html {
  scroll-behavior: smooth;
}

此属性可确保当用户单击页面中的锚链接时,浏览器平滑滚动到目标部分,而不是突然跳转。这是一个小小的改变,可以显着提高您网站的感知质量。

6. 创建响应式正方形

创建保持纵横比的完美方形元素可能很棘手,尤其是在响应式布局中。这是一个巧妙的 CSS 技巧来实现这一点:

.square {
  width: 50%; aspect-ratio: 1;
}

纵横比属性确保元素的高度始终与其宽度相匹配,从而创建一个完美的正方形。您可以根据需要调整宽度百分比,并且元素将在不同的屏幕尺寸上保持其正方形形状。

7. 自定义文本选择样式

自定义所选文本的外观可以为您的网站添加独特的风格。这是一个 CSS 语句来实现这一点:

::selection { background: #ffb7b7; color: #000000; }

这个 CSS 技巧允许您更改网站上所选文本的背景颜色和文本颜色。您可以调整颜色以匹配您网站的配色方案,从而创建有凝聚力的品牌体验。

8. 轻松切换深色模式

为您的网站实施深色模式可以改善用户体验,尤其是对于夜间浏览的用户。这是一个简单的基于 CSS 变量的方法:

body {
  --text-color: #333; --bg-color: #fff;
}
@media (prefers-color-scheme: dark) {
  body { --text-color: #fff; --bg-color: #333; }
}

此 CSS 技巧使用 CSS 变量来定义颜色,并使用媒体查询来检测用户的配色方案偏好。然后,您可以在整个 CSS 中使用这些变量来轻松在浅色和深色模式之间切换。

9. 创建毛玻璃效果

磨砂玻璃效果,也称为玻璃形态,在 UI 设计中越来越流行。下面是一个 CSS 语句来创建这种效果:

.frosted-glass {
  backdrop-filter: blur(10px); background-color: rgba(255, 255, 255, 0.5);
}

背景滤镜和半透明背景颜色的组合创造了美丽的磨砂玻璃效果。您可以调整模糊量和背景不透明度以获得所需的外观。

10.完美的圆角

为不同尺寸的元素创建完美的圆角可能具有挑战性。这是一个 CSS 技巧,可确保您的元素始终具有完美的圆角:

.round {
  border-radius: 9999px;
}

通过为 border-radius 设置一个非常大的值,可以确保角始终尽可能圆,无论元素的大小如何。这对于按钮、徽章或任何您想要一致圆角的元素特别有用。

11.简单的 CSS 网格布局

使用 CSS 网格创建复杂的布局并不一定很复杂。这是设置响应式网格的一行:

.grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

这个 CSS 技巧创建了一个网格,其中的列自动调整以适应可用空间。 minmax() 函数确保列的宽度至少为 200 像素,但可以增长以填充可用空间。这将使用最少的代码创建响应式布局。

12.流体版式

使用 CSS 单行代码可以创建在不同屏幕尺寸上平滑缩放的版式:

h1 {
  font-size: clamp(2rem, 5vw, 5rem);
}

clamp() 函数允许您设置文本的最小尺寸 (2rem)、首选尺寸 (5vw) 和最大尺寸 (5rem)。这可确保您的排版在所有设备尺寸上保持可读性和视觉吸引力。

13. 使用 CSS 创建三角形

有时您需要为 UI 元素创建简单的形状,例如三角形。这是一个用于创建三角形的 CSS 单行代码:

.triangle {
  width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 100px solid #333;
}

这个 CSS 技巧使用边框属性来创建三角形。通过调整边框宽度和颜色,您可以创建指向不同方向的三角形。

14.全出血布局

创建全出血布局,其中一些元素延伸到视口的边缘,而主要内容保持居中,可以使用以下 CSS 来实现:

.full-bleed {
  width: 100vw; margin-left: calc(50% - 50vw);
}

这个 CSS 技巧计算将元素扩展到视口的整个宽度所需的负边距,而不管父容器的宽度如何。它对于在受限布局内创建沉浸式背景部分或全角图像特别有用。

15.动画渐变背景

添加微妙的动画渐变背景可以为您的设计带来活力。下面是一个 CSS 语句来创建这种效果:

.animated-gradient {
  background: linear-gradient(270deg, #ff7e5f, #feb47b); background-size: 400% 400%; animation: gradient 15s ease infinite;
}
@keyframes gradient { 0% {background-position: 0% 50%} 50% {background-position: 100% 50%} 100% {background-position: 0% 50%} }

This CSS trick creates a gradient background that smoothly animates between colors. You can adjust the colors, animation duration, and easing function to suit your design needs.

结论:提升你的 CSS 游戏水平

这 15 个 CSS 行话展示了 CSS 在创建高效、响应灵敏且具有视觉吸引力的设计方面的强大功能和灵活性。通过将这些技巧融入您的工作流程中,您可以:

  1. 简化您的代码,使其更易于维护且更易于阅读。
  2. 通过优雅、简洁的解决方案解决常见的设计挑战。
  3. 通过流畅的动画和响应式布局增强用户体验。
  4. 以最小的努力创建更精美、更专业的界面。

请记住,掌握 CSS 的关键不仅仅是了解这些技巧,而是了解如何以及何时应用它们。当您将这些技术融入您的项目时,您将对 CSS 的功能以及它如何改变您的 UI 开发方法有更深入的了解。

不断尝试,保持好奇心,不要害怕突破 CSS 的可能性界限。您练习和探索的越多,您就会越熟练地创建令人惊叹、高效的网页设计。

这句话完美地概括了这些 CSS 俏皮话的精髓。他们证明,有时,最强大的解决方案也是最简单的。

当您继续作为 UI 开发人员的旅程时,请将这些 CSS 技巧保留在您的工具包中,但也要保持开放的心态,学习新技术并及时了解最新的 CSS 功能和最佳实践。 Web 开发的世界在不断发展,保持领先地位将确保您继续创建尖端、高效且美观的用户界面。

祝您编码愉快,愿您的 CSS 始终清晰、干净、聪明!

版本声明 本文转载于:https://dev.to/nnnirajn/15-clever-css-one-liners-every-ui-developer-should-know-50g7?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • IntTo Float64 JSON转换之谜
    IntTo Float64 JSON转换之谜
    使用 JSON 听起来简单明了,你有一些结构,你可以将其更改为 JSON - 一种通用的统一语言并返回到你的结构。简单吧? ? 嗯,是的,但是直到您遇到 Marshal / Unmarshal 函数的一些奇怪行为。 问题 ? 这一切都是从我尝试从 JWT 令牌读取编码的有效负载时开始...
    编程 发布于2024-11-02
  • 如何从 Ubuntu 12.04 中彻底删除 MySQL 5.7?
    如何从 Ubuntu 12.04 中彻底删除 MySQL 5.7?
    删除 MySQL 5.7:清除和卸载综合指南要从 Ubuntu 12.04 系统中完全删除 MySQL 5.7,请按照以下综合步骤操作:备份数据库在继续卸载之前,请确保您已使用 mysqldump 实用程序备份了基本数据库。仅备份所需的数据库,因为完整数据库备份可能是卸载问题的根本原因。停止 MyS...
    编程 发布于2024-11-02
  • 如何在没有 CLI 访问的情况下清除共享托管服务器上的 Laravel 5 缓存?
    如何在没有 CLI 访问的情况下清除共享托管服务器上的 Laravel 5 缓存?
    在 Laravel 5 中清除共享托管服务器上的缓存在 Laravel 5 中,您可以使用 cache:clear Artisan 命令有效地清除缓存。但是,在共享托管服务器上工作时,您可能无权访问 CLI。这就提出了一个问题:我可以在缺乏控制面板访问权限的共享托管服务器上不使用 CLI 来清除缓存...
    编程 发布于2024-11-02
  • Websocket 或 Socket io!让我们来看看吧!
    Websocket 或 Socket io!让我们来看看吧!
    WebSockets 与 Socket.IO:实时对决 当谈到网络上的实时通信时,开发人员经常发现自己陷入两个选择之间:WebSockets 和 Socket.IO。这两种工具都擅长它们的工作——提供了一种在客户端和服务器之间实现双向通信的方法——但每种工具都有自己独特的个性。这有...
    编程 发布于2024-11-02
  • Deno 起飞
    Deno 起飞
    网络是人类最大的软件平台,拥有超过 50 亿用户,并且还在不断增长。然而,随着 Web 开发需求的飙升,其复杂性也随之增加。在无尽的配置文件、大量的样板文件和大量的依赖项之间,开发人员花费更多的时间来进行设置,而不是构建下一个大东西。? 进入 Deno,这是一种用于 JavaScript 和 Typ...
    编程 发布于2024-11-02
  • 使用 Django Rest Framework 寻找海森堡
    使用 Django Rest Framework 寻找海森堡
    The idea The idea was to create a simple platform for DEA agents, to manage information about characters from the Breaking Bad/Better Call Sa...
    编程 发布于2024-11-02
  • 汤姆和杰瑞灯代码
    汤姆和杰瑞灯代码
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, ...
    编程 发布于2024-11-02
  • 通过实践学习 TDD:在 Umbraco 的富文本编辑器中标记成员
    通过实践学习 TDD:在 Umbraco 的富文本编辑器中标记成员
    在我正在构建的系统中,我需要能够在网站的文本中提及 Umbraco 成员。为此,我需要构建 Umbraco 富文本编辑器的扩展:TinyMCE。 语境 作为内容编辑者,我想在消息或文章中标记成员,以便他们收到有关其新内容的通知。 我研究了类似的实现,例如 Slack 或 X 上的实现...
    编程 发布于2024-11-02
  • 如何在Python测试场景中模拟HTTP请求和响应?
    如何在Python测试场景中模拟HTTP请求和响应?
    Python 测试的模拟请求和响应在 Python 测试中,有必要模拟模块及其功能来控制执行流程并验证具体场景。其中,模拟 requests 模块通常用于测试依赖于 HTTP 请求的函数或方法。考虑一个包含以下代码的views.py 文件:def myview(request): res1 ...
    编程 发布于2024-11-02
  • 如何构建适用于 Windows、Linux 和 macOS 的 Python 条码扫描器
    如何构建适用于 Windows、Linux 和 macOS 的 Python 条码扫描器
    条形码扫描已成为从零售、物流到医疗保健等各个行业的重要工具。在桌面平台上,它可以快速捕获和处理信息,无需手动输入数据,从而节省时间并减少错误。在本教程中,我们将通过构建适用于 Windows、Linux 的 Python 条形码扫描仪 继续探索 Dynamsoft Capture Vision SD...
    编程 发布于2024-11-02
  • ## 如何在 Python 中创建不可变对象以及为什么 nametuple 是最好的方法?
    ## 如何在 Python 中创建不可变对象以及为什么 nametuple 是最好的方法?
    Python 中的不可变对象在 Python 中,不变性为保护数据完整性提供了一种有价值的机制。然而,创建不可变对象会带来一定的挑战。重写 setattr常见的方法是重写 setattr方法。然而,即使在 init 过程中也会调用此方法,因此它不适合创建不可变对象。子类化 Tuple另一种策略涉及对...
    编程 发布于2024-11-02
  • 最常被问到的 React 面试问题
    最常被问到的 React 面试问题
    如何优化 React 应用程序的性能? 1。组件应谨慎更新 实现 shouldComponentUpdate 或 React.memo 通过比较 props 或 states 来防止不必要的重新渲染。 2.使用功能组件和钩子 带钩子的功能组件通常比类组件性能更高。 3.延迟加载组件...
    编程 发布于2024-11-02
  • (Wordpress 初学者):仅将子域从托管转移(迁移)到另一个新托管。
    (Wordpress 初学者):仅将子域从托管转移(迁移)到另一个新托管。
    我只想从 Bluehost 托管转移(迁移)一个新托管(例如 Fastcomet 或 Chemicloud)的子域。 我想知道我迁移子域的步骤是否正确以及我应该做什么更改 DNS 内容...... ** 我的情况1:** – 主 Web 域(例如:forcleanworld.com)保留在 Blue...
    编程 发布于2024-11-02
  • 使用 Java 进行数据分析:信息处理初学者指南
    使用 Java 进行数据分析:信息处理初学者指南
    Java 是一种适用于数据分析的强大语言,它提供用于处理大型数据集和执行复杂分析的基础结构,包括:数据结构:用于存储和组织数据的集合,例如数组和列表。IO 流:用于读取和写入文件的对象。Java 集合框架:用于管理和操作数据结构的强大集合类库。使用 Java 进行数据分析的实际案例包括分析文本文件,...
    编程 发布于2024-11-02
  • 雇用自由 Python 开发人员时要避免的常见错误
    雇用自由 Python 开发人员时要避免的常见错误
    介绍 雇用合适的自由 Python 开发人员可以决定你的项目的成败。然而,许多企业在招聘过程中会犯一些常见的错误,这些错误可能会导致招聘延迟、成本超支和结果不佳。以下是如何避免这些陷阱并确保项目成功的方法。 没有明确定义项目要求 最常见的错误之一是在开始招聘流程之前...
    编程 发布于2024-11-02

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3