返回顶部
首页 > 资讯 > 前端开发 > html >有哪些CSS快速提升技巧
  • 720
分享到

有哪些CSS快速提升技巧

2024-04-02 19:04:59 720人浏览 泡泡鱼
摘要

本篇内容主要讲解“有哪些CSS快速提升技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些CSS快速提升技巧”吧!1、使用CSS重置(reset)css重置

本篇内容主要讲解“有哪些CSS快速提升技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些CSS快速提升技巧”吧!

1、使用CSS重置(reset)

css重置库如nORMalize.css已经被使用很多年了,它们可以为你的网站样式提供一个比较清晰的标准,来确保跨浏览器之间的一致性。

大多数项目并不需要这些库包含的所有规则,可以通过一条简单的规则来应用于布局中的所有元素,删除所有的margin、padding改变浏览器默认的盒模型。

*{      box-sizing:border-box;      margin:0;      padding:0 }

使用box-sizing声明是可选择,如果你使用下面继承的盒模型形式可以跳过它。

2、继承盒模型

让盒模型从html 继承:

html {         box-sizing: border-box;   }     *, *:before, *:after {         box-sizing: inherit;   }

3、使用flexbox布局来避免margin的问题 (Get Rid of Margin hacks width Flexbox)

当你多少次试着去设计栅格布局如:组合或者图片画廊,如果使用浮动的方式,那么就需要去清除浮动和重置外边距来使其分解成所需要行数。为了避免nth-、first-、last-child  问题 ,可以使用flexbox 的space-between 属性值。

.flex-container{   display:flex;   justify-content:space-between; } .flex-container .item{                 flex-basis:23%; }

4、使用:not() 解决lists边框的问题

WEB设计中,我们通常使用:last-child nth-child  选择器来覆盖原先声明应在父选择器上的样式。比如说一个导航菜单,通过使用borders 来给每个链接Link创建分割符,然后再在加上一条规则  解除最后一个link的border

.nav li {         border-right: 1px solid #666;   } .nav li:last-child {         border-right: none;   }

这是一种很混乱的方式,它不仅强制浏览器以一种方式渲染,然后又通过特定的选择器来撤销它。这样覆盖样式是不可避免的。然而,最重要的是,我们可以通过使用:not伪类(pseudo-class)  在你想声明的元素上仅仅只使用一种样式:

.nav li:not(:last-child) {         border-right: 1px solid #666;   }

上面就是,除了最后一个li以外,所有的 .nav li 都加上了border样式,是不是很简单!

当然,你也可以使用 .nav li+li或者 .nav li:first-child ~li ,但是  :not是更有语义化(semantic)和容易理解的。

5、body上加入line-height样式

导致低样式效率(inefficient  stylesheets)的一件事就是不断的重复声明。最好是做下项目规划和组合规则,这样CSS会更流畅。实现这一点,就需要我们理解级联(cascade),以及如何在通用选择器写的样式可以继承在其他地方。

行间距(line-height)可以作为给你的整个项目设置的一个属性,不仅可以减小代码量,而且可以让你的网站的样式给一个标准的外观

body {     line-height: 1.5; }

请注意,这里的声明没有单位,我们只是告诉浏览器 让它渲染行高是 渲染字体大小的1.5倍

6、垂直居中任何元素 (vertical-center anything)

在没有准备使用CSSGrid 布局的时候,设置垂直居中布局的全局规则是一个很好的方式,可以为优雅(elegantly)的设置内容布局奠定一个基础

html, body {     height: 100%;         margin: 0;   }     body {         -webkit-align-items: center;         -ms-flex-align: center;         align-items: center;         display: -webkit-flex;         display: flex;   }

7、使用SVG icons

SVG使用于所有分辨类,并且所有浏览器也都支持。所以可以将.png .jpg .gif 等文件 丢弃。FontAwsome5中  也提供了SVG的图标字体。设置SVG的格式就跟其他图片类型一样:

.loGo {         background: url("logo.svg");   }

温馨提示:如果将SVG用在可交互的元素上比如说button,SVG  会产生无法加载的问题。可以通过下面这个规则来确保SVG可以访问到(确保在HTML中已设置适当的aria属性)

.no-svg .icon-only:after {         content: attr(aria-label);   }

8、使用 “OWL选择器”

使用通用选择器(universal selector)* 和相邻的兄弟选择器(adjacent sibling selector)+  可以提供一个强大的的CSS功能,给紧跟其他元素中的文档流中的所有元素设置统一的规则

* + * {         margin-top: 1.5rem;   }

这是一个很棒的技巧,可以帮你创建更加均匀的类型跟间距。在上面的列子中,跟在其他元素后面的元素,比如说H3后面的H4,或者一个段落之后的一个段落,他们之间至少1.5rems的间距(大约为30px)

9、一致的垂直结构(Consistent Vertical Rhythm)

一致的垂直节奏提供了一种视觉美学,使内容更具可读性。如果owl选择器过于通用,请在元素内使用通用选择器(*)为布局的特定部分创建一致的垂直节奏:

.intro > * {       margin-bottom: 1.25rem;   }

10、对更漂亮的换行文本使用 box-decoration-break

假设您希望对换行到多行的长文本行应用统一的间距、边距、突出显示或背景色,但不希望整个段落或标题看起来像一个大块。Box Decoration  Break属性允许您仅对文本应用样式,同时保持填充和页边距的完整性。

如果要在悬停时应用突出显示,或在滑块中设置子文本样式以具有突出显示的外观,则此功能尤其有用:

.p {   display: inline-block;   box-decoration-break: clone;   -o-box-decoration-break: clone;   -webkit-box-decoration-break: clone; }

内联块声明允许将颜色、背景、页边距和填充应用于每行文本,而不是整个元素,克隆声明确保将这些样式均匀地应用于每行。

11、等宽表格单元格

表格可能很难处理,所以尝试使用table-layout:fixed来保持单元格相等宽度:

.calendar {         table-layout: fixed;   }

12、强制使用属性选择器显示空链接

这对于通过CMS插入的链接特别有用,CMS通常不具有类属性,并帮助您在不影响级联的情况下对其进行特定样式设置。例如,元素没有文本值,但href属性有一个链接:

a[href^="Http"]:empty::before {         content: attr(href);   }

13、样式“默认”链接

说到链接样式,您可以在几乎每个样式表中找到一个通用的A样式。这迫使您为子元素中的任何链接编写额外的覆盖和样式规则,并且在使用像WordPress这样的CMS时,可能会导致您的主链接样式比按钮文本颜色更容易出现问题。

尝试这种较少干扰的方式为“默认”链接添加样式:

a[href]:not([class]) {         color: #999;         text-decoration: none;       transition: all ease-in-out .3s; }

14、比率框

要创建具有固有比率的框,您需要做的就是将顶部或底部填充应用于div:

.container {         height: 0;         padding-bottom: 20%;         position: relative;   }     .container div {         border: 2px dashed #DDD;         height: 100%;         left: 0;         position: absolute;         top: 0;         width: 100%;   }

使用20%进行填充使得框的高度等于其宽度的20%。无论视口的宽度如何,子div都将保持其纵横比(100%/ 20%= 5:1)。

15、风格破碎的图像

这个技巧不是关于代码缩减,而是关于细化设计细节的。破碎的图像发生的原因有很多,要么不雅观,要么导致混乱(只是一个空元素)。用这个小小的CSS创建更美观的效果:

img {         display: block;         font-family: Helvetica, Arial, sans-serif;         font-weight: 300;         height: auto;         line-height: 2;         position: relative;         text-align: center;         width: 100%;   } img:before {         content: "We're sorry, the image below is missing :(";         display: block;         margin-bottom: 10px;   }     img:after {         content: "(url: " attr(src) ")";        display: block;         font-size: 12px;   }

16、使用rem进行全局大小调整;使用em进行局部大小调整

在设置根目录的基本字体大小后,例如html字体大小:15px;,可以将包含元素的字体大小设置为rem:

article {         font-size: 1.25rem;   }     aside {         font-size: .9rem;   }

然后将文本元素的字体大小设置为em

h3 {         font-size: 2em;   }     p {         font-size: 1em;   }

现在,每个包含的元素都变得分区化,更易于样式化、更易于维护和灵活。

17、隐藏未静音的自动播放视频

当您处理无法从源代码轻松控制的内容时,这对于自定义用户样式表来说是一个很好的技巧。这个技巧将帮助您避免在加载页面时自动播放视频中的声音干扰访问者,并再次提供了精彩的:not()伪选择器:

video[autoplay]:not([muted]) {         display: none;   }

18、灵活运用root类型

响应布局中的字体大小应该能够自动调整到视区,从而保存编写媒体查询的工作,以处理字体大小。可以使用:not和视区单位,根据视区高度和宽度计算字体大小:

:root {         font-size: calc(1vw + 1vh + .5vmin);   }

现在,您可以使用根em单位,该单位基于:not:

body {         font: 1rem/1.6 sans-serif;   }

结合上面的rem/em技巧以获得更好的控制。

19、在表单元素上设置字体大小,以获得更好的移动体验

为了避免移动浏览器(iOS Safari等)在点击<select>下拉列表时放大HTML表单元素,请在添加font-size样式:

input[type="text"],   input[type="number"],   select,   textarea {         font-size: 16px;   }

20、CSS变量

最后,最强大的CSS级别来自于CSS变量,它允许您声明一组公共属性值,这些值可以通过样式表中任何位置的关键字重用。你可能有一套颜色在整个项目中使用,以保持一致性。

在CSS中反复重复这些颜色值不仅是件烦人的事情,而且还容易出错。如果某个颜色在某个时刻需要改变,你就不得不去寻找和替换,这是不可靠或不快速的,当为最终用户构建产品时,变量使得定制变得容易得多。例如:

有哪些CSS快速提升技巧

:root {   --main-color: #06c;   --accent-color: #999; }  h2, h3, h4 {   color: var(--main-color); } a[href]:not([class]), p, footer span{  color: var(--accent-color); }

到此,相信大家对“有哪些CSS快速提升技巧”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 有哪些CSS快速提升技巧

本文链接: https://lsjlt.com/news/84803.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 有哪些CSS快速提升技巧
    本篇内容主要讲解“有哪些CSS快速提升技巧”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些CSS快速提升技巧”吧!1、使用CSS重置(reset)css重置...
    99+
    2024-04-02
  • 快速提升开发CSS技能的小技巧有哪些
    这篇文章主要介绍快速提升开发CSS技能的小技巧有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!flexbox 内容换行当我们使用 flexbox 布局的时候,默认情况下,在容器宽...
    99+
    2024-04-02
  • 提升css开发效率的技巧有哪些
    今天小编给大家分享一下提升css开发效率的技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2024-04-02
  • 有哪些快速建站技巧
    以下是一些快速建站技巧:1. 使用模板:使用现成的网站模板可以大大缩短建站时间。有许多免费和付费的模板可供选择。2. 使用网站构建器...
    99+
    2023-06-11
    建站技巧
  • npm快速开发技巧有哪些
    这篇文章主要介绍npm快速开发技巧有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.学习基本快捷方式我们从最基本的开始,学习最常见的npm快捷方式从长远来将会节省很多时间。安装...
    99+
    2024-04-02
  • 提升前端开发效率的CSS技巧有哪些
    今天小编给大家分享一下提升前端开发效率的CSS技巧有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1. 解决图片5px间...
    99+
    2023-07-05
  • 5个python提速技巧有哪些
    5个python提速技巧有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、跳过迭代对象的开头string_from_file = "&q...
    99+
    2023-06-22
  • 详解CSS开发过程中的20个快速提升技巧
    目录1、使用CSS重置(reset)2、继承盒模型3、使用flexbox布局来避免margin的问题 (Get Rid of Margin hacks width Flexbox)4...
    99+
    2024-04-02
  • 有哪些技巧提升代码能力
    本篇内容主要讲解“有哪些技巧提升代码能力”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些技巧提升代码能力”吧!语言基础很多人看到这里估计要吐槽了,这不是废话...
    99+
    2024-04-02
  • 有哪些CSS技巧
    这篇文章主要讲解了“有哪些CSS技巧”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些CSS技巧”吧!1. @font-face一种用其他服务器上的字体的...
    99+
    2024-04-02
  • CSS技巧有哪些
    今天就跟大家聊聊有关CSS技巧有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。各种浏览器之间的竞争的白热化意味着越来越多的人现在开始使用那些支持...
    99+
    2024-04-02
  • 提升Redis性能的小技巧有哪些
    这篇文章主要介绍了提升Redis性能的小技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。01 使用 p...
    99+
    2024-04-02
  • CSS的技巧有哪些
    今天就跟大家聊聊有关CSS的技巧有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。各种浏览器之间的竞争的白热化意味着越来越多的人现在开始使用那些支...
    99+
    2024-04-02
  • 提升效率的JavaScript简写技巧有哪些
    这篇文章主要讲解了“提升效率的JavaScript简写技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“提升效率的JavaScript简写技巧有哪些”...
    99+
    2024-04-02
  • JS提升工作效率的技巧有哪些
    本篇内容主要讲解“JS提升工作效率的技巧有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS提升工作效率的技巧有哪些”吧!这些方法肯定会帮助您:减少 LOC...
    99+
    2024-04-02
  • 提升Web开发性能的技巧有哪些
    本篇内容介绍了“提升Web开发性能的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、采用反向代...
    99+
    2024-04-02
  • C++ 编程技巧速递:直击学习痛点,快速提升
    针对 c++++ 学习痛点,本文提供了实用技巧和实战案例,助你快速提升编程能力。针对难以理解的指针概念,可将其视为指向对象地址的变量,并通过图形化工具或调试器可视化其工作方式。引用传递和...
    99+
    2024-05-23
    c++ 编程技巧
  • 加快Python运行时速度的技巧有哪些
    本篇内容介绍了“加快Python运行时速度的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!0.优化原理在深入探讨代码优化的细节之前...
    99+
    2023-06-16
  • 提高CSS代码效率的技巧有哪些
    本篇内容介绍了“提高CSS代码效率的技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.注意外边距...
    99+
    2024-04-02
  • div+css编程提醒及小技巧有哪些
    div+css编程提醒及小技巧有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值。同一个的...
    99+
    2023-06-08
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作