当前位置:首页 > 科技  > 软件

聊一聊 CSS 的十个技巧和窍门

来源: 责编: 时间:2024-07-24 14:46:02 328观看
导读Web 开发人员使用 CSS 样式语言为语义 HTML 文档添加动态、富有创意且用户友好的样式。刚接触 CSS 的 Web 开发人员通过练习基本的 CSS 选择器语法、属性、@ 规则和伪类/元素来开始学习样式。了解这些 CSS 功能足以构

Web 开发人员使用 CSS 样式语言为语义 HTML 文档添加动态、富有创意且用户友好的样式。Bgb28资讯网——每日最新资讯28at.com

Bgb28资讯网——每日最新资讯28at.com

刚接触 CSS 的 Web 开发人员通过练习基本的 CSS 选择器语法、属性、@ 规则和伪类/元素来开始学习样式。Bgb28资讯网——每日最新资讯28at.com

了解这些 CSS 功能足以构建一个易于访问、美观、用户友好的现代网站,但要了解 CSS 的全部潜力,还有很多东西需要学习。Bgb28资讯网——每日最新资讯28at.com

当 Web 开发人员广泛使用 CSS 设计网站前端并尝试使用 CSS 时,他们经常会发现新功能、解决方法和技术,这些功能、解决方法和技术可以帮助他们提高工作效率并提高 CSS 技能。Bgb28资讯网——每日最新资讯28at.com

这些技巧和窍门可帮助每个人高效地实施快速、有吸引力的 CSS 纯解决方案来解决设计问题,而无需编写基于 JavaScript、SVG 和 HTML Canvas 的实现。例如,现在 Web 开发人员无需编写一行 JavaScript 代码即可创建快速、轻量级的倒计时器。Bgb28资讯网——每日最新资讯28at.com

在本文中,我将介绍10个 CSS 技巧和窍门,帮助您充分利用 CSS,高效地构建现代 Web 界面,而无需使用 JavaScript、SVG、HTML Canvas 或集成繁重的第三方 UI 工具包和库。练习这些技巧可以扩展您的 CSS 掌握能力!Bgb28资讯网——每日最新资讯28at.com

1. 让元素居中的最简单方法

正确放置 UI 元素是设计高质量界面的必备条件。在大多数情况下,Web 开发人员必须将子元素垂直和水平居中。由于布局系统和定位功能不同,CSS 无法提供单一属性来让任何元素居中。Bgb28资讯网——每日最新资讯28at.com

在响应式设计流行之前,Web 开发人员使用负边距技巧来让 HTML 元素居中——现在,您会发现使用各种现代和旧 CSS 属性让元素居中的无数方法,但在 CSS 中让元素居中的最简单方法是什么?Bgb28资讯网——每日最新资讯28at.com

现代 CSS 网格功能支持使用 place-items 简写属性让网格块居中,因此我们可以使用它来让子元素居中,如下所示:Bgb28资讯网——每日最新资讯28at.com

Bgb28资讯网——每日最新资讯28at.com

您可以通过使用 calc() 和 mod() CSS 数学函数调整全局计时器变量的结束值来创建显示分钟、秒和毫秒的倒计时器。Bgb28资讯网——每日最新资讯28at.com

4. 不使用 JavaScript 自定义原生表单控件

浏览器将 DOM 元素渲染为浏览器视口边界内的可视 UI 元素。Bgb28资讯网——每日最新资讯28at.com

但是,HTML 表单元素通常会打开在标准 DOM 视口之外渲染的原生 UI 元素,因此没有跨浏览器的解决方案来自定义原生表单元素的平台特定、浏览器特定的弹出元素。Bgb28资讯网——每日最新资讯28at.com

例如,我们无法自定义 HTML 选择元素的下拉弹出窗口,但我们可以使用 CSS 在所有浏览器中自定义选择框的初始视图,因为初始表单控件视图在 DOM 内渲染:Bgb28资讯网——每日最新资讯28at.com

<div>  <select>    <option>React</option>    <option>Angular</option>    <option>Svelte</option>    <option>Vue</option>    <option>Lit</option>  </select></div><style>  div {    position: relative;    min-width: 200px;  }  select {    appearance: none;    padding: 6px;    font-size: 14px;    border-radius: 4px;    width: 100%;    border: 2px solid #ccc;     outline: none;  }  select:focus { border: 2px solid #aaa; }  div::after {    border-right: 6px solid transparent;    border-top: 6px solid #333;    border-left: 6px solid transparent;    position: absolute;    top: 42%;    right: 12px;    content: "";    pointer-events: none;  }</style>

上述 CSS 定义通过添加自定义图标和边框来定制 HTML 选择元素的初始视图的浏览器特定外观,如下面的预览所示:Bgb28资讯网——每日最新资讯28at.com

Bgb28资讯网——每日最新资讯28at.com

使用相同的技术,您可以覆盖用户代理样式表中的默认样式,以自定义其他本机表单控件并向其添加额外的子元素,而无需使用 JavaScript 嵌入元素。Bgb28资讯网——每日最新资讯28at.com

5. 使用渐变填充创建花式框角

众所周知的 border-radius CSS 属性可帮助我们为矩形 DOM 元素创建圆形或椭圆形边缘。Bgb28资讯网——每日最新资讯28at.com

此外,使用 clip-path 属性,我们可以创建漂亮的花式角。您知道我们可以使用渐变填充创建创意花式角吗?Bgb28资讯网——每日最新资讯28at.com

通过为元素填充径向渐变背景,可以创建一个完美、尖锐的圆圈。如果我们使生成的圆圈透明,将其用作蒙版,然后移动到角落,它会切开所有四个角,从而创建类似相框的角:Bgb28资讯网——每日最新资讯28at.com

<div></div><style>  div {    width: 200px;    height: 100px;    background: darkcyan;    mask: radial-gradient(14px at 40px 40px, transparent 98%, black) -40px -40px;  }</style>

Bgb28资讯网——每日最新资讯28at.com

CSS 滚动捕捉模块提供了一组 CSS 属性,用于提高可滚动容器的可用性和可访问性。Bgb28资讯网——每日最新资讯28at.com

例如,以下代码片段会自动在主要部分停止滚动,并避免在部分部分停止:Bgb28资讯网——每日最新资讯28at.com

<section style="background: #ccc">1</section><section style="background: #aaa">2</section><section style="background: #ccc">3</section><section style="background: #aaa">4</section><style>  section {    height: 100vh;    scroll-snap-align: start;    display: grid;    place-items: center;    font-size: 7em;  }  :root {    background-color: #eee;    scroll-snap-type: y mandatory;  }</style>

Bgb28资讯网——每日最新资讯28at.com

CSS 滚动捕捉功能可帮助我们为移动应用中支持滑动的界面实现无 JavaScript、极简的纯 CSS 解决方案Bgb28资讯网——每日最新资讯28at.com

10. 无类 CSS 样式技术

每个 Web 开发人员都有使用类开始样式的习惯。使用组织良好的类无疑是创建干净、易于管理的网页的良好做法。Bgb28资讯网——每日最新资讯28at.com

但是,创建类对于创建极简网页来说并不是强制性的——无类 Web 设计概念激励我们使用语义 HTML 标签来编写 CSS:Bgb28资讯网——每日最新资讯28at.com

nav {}ul {}ul li {}summary {}

:not()、:has() 和 :is() 等功能选择器(以伪类形式实现)可帮助我们避免在无类样式表中选择器中出现重复片段,从而编写简洁的代码。Bgb28资讯网——每日最新资讯28at.com

例如,以下代码片段使用 :not() 为导航菜单项(最后一个除外)添加了颜色样式:Bgb28资讯网——每日最新资讯28at.com

<nav>  <ul>    <li>Home</li>    <li>Services</li>    <li>About</li>    <li>Contact</li>  </ul></nav><style>  nav ul {    display: flex;    list-style: none;    gap: 1em;    background: #eee;    padding: 1em;    :not(li:last-child) {      color: darkcyan;    }  }</style>

假设您需要为呈现 SVG 图标的菜单项添加自定义样式。然后,您可以使用 :has() 功能选择器选择这些菜单项,如下所示:Bgb28资讯网——每日最新资讯28at.com

li:has(svg) {  /* ... */}

:has() 伪类可以与属性选择器和 CSS 变量结合使用,实现交互式主题更改:Bgb28资讯网——每日最新资讯28at.com

<div>  <label><input type="radio" value="t1" name="t" checked>Theme 1</label>  <label><input type="radio" value="t2" name="t">Theme 2</label></div><style>  body {     background-color: var(--background-color);    color: var(--text-color);    transition: all 0.5s;  }  :root:has(input[value="t1"]:checked) {    --background-color: darkcyan;    --text-color: white;  }   :root:has(input[value="t2"]:checked) {    --background-color: skyblue;    --text-color: black;  }   </style>

:is() 功能选择器帮助我们为逗号分隔的长选择器编写替代的简写选择器:Bgb28资讯网——每日最新资讯28at.com

/* old-fashioned */section h1, section h2, section h3, section h4, section h5, section h6 {  color: darkcyan;}/* modern */section :is(h1, h2, h3, h4, h5, h6) {  color: darkcyan;}

总结

以上就是我今天想与你分享的全部内容,希望这些技能可以帮助您编写更简洁、更高效的CSS代码。Bgb28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-103165-0.html聊一聊 CSS 的十个技巧和窍门

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Lodash 的又一方法被替代了,探索 JS 新特性 Object.groupBy

下一篇: 快速了解 CSS light-dark 函数及其应用

标签:
  • 热门焦点
  • 鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    华为全新的HarmonyOS 4.0操作系统将于今天下午正式登场,官方在发布会之前也已经正式给出了可升级的机型产品,这意味着这些机型会率先支持升级享用。这次的HarmonyOS 4.0支持
  • 小米降噪蓝牙耳机Necklace分享:听一首歌 读懂一个故事

    在今天下午的小米Civi 2新品发布会上,小米还带来了一款新的降噪蓝牙耳机Necklace,我们也在发布结束的第一时间给大家带来这款耳机的简单分享。现在大家能见到最多的蓝牙耳机
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 企业采用CRM系统的11个好处

    客户关系管理(CRM)软件可以为企业提供很多的好处,从客户保留到提高生产力。  CRM软件用于企业收集客户互动,以改善客户体验和满意度。  CRM软件市场规模如今超过580
  • 之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • 微软发布Windows 11新版 引入全新任务栏状态

    近日,微软发布了Windows 11新版,而Build 22563更新主要引入了几周前曝光的平板模式任务栏等,系统更流畅了。更新中,Windows 11加入了专门针对平板优化的任务栏
  • SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘是西部数据发布的最新一代WD Blue系列的固态硬盘,不仅闪存技术更为精进,性能也得到了进一步的跃升。WD Blue SN570 NVMe SSD的包装外
  • 荣耀Magic4 至臻版 首创智慧隐私通话 强劲影音系统

    2022年第一季度临近尾声,在该季度内,许多品牌陆续发布自己的最新产品,让大家从全新的角度来了解当今的手机技术。手机是电子设备中,更新迭代十分迅速的一款产品,基
Top