11个提高CSS技巧的小知识,你知道吗?

前端开发越来越侧重于效率和性能,使用LESS和SCSS资源的预处理器为我们前端CSS编写工作提供了很大的便利。但是也有很多简单的方法可以编写小巧快速的CSS代码,提高开发效率并解决许多常见的问题。

1.使用CSS reset

像normalize.css这样的CSS重置库非常受欢迎,它为您的站点样式提供了一个清爽的选择,能确保浏览器之间更好的一致性。而实际上并不是每个项目都需要这些库中包含的所有规则,我们可以通过一些简单的css规则就能规避浏览器之间的差异。请看下面的盒模型代码:

1 * {
2   box-sizing: border-box;
3   margin: 0;
4   padding: 0;
5 } 

2.继承 box-sizing

让 box-sizing 继承 html:

1 html {
2     box-sizing: border-box;
3 }
4 *, *:before, *:after {
5     box-sizing: inherit;
6 } 

这样在插件或杠杆其他行为的其他组件中就能更容易地改变 box-sizing 了。

3. 使用Flexbox摆脱外边距的各种 hack

当需要用到列分隔符时,通过flexbox的 space-between 属性,你就可以摆脱nth-,first-,和 last-child 的hack了:

1 .list {
2   display: flex;
3   justify-content: space-between;
4 }
5
6 .list .person {
7   flex-basis: 23%;
8 } 

4.使用 :not() 定义菜单边框

我们要定义菜单列表的边框,然后去掉最后一个菜单的边框,通常做法是:

1 .nav li {
2     border-right: 1px solid #666;
3 }
4 .nav li:last-child {
5     border-right: none;
6 } 

而我们现在可以直接使用 :not() 伪类来应用元素,让代码就干净,易读,易于理解了。

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

5.给 body 添加行高

你不需要分别添加 line-height 到每个p,h标记等。只要添加到 body 即可:

1 body {
2   line-height: 1.5;
3 } 

6.垂直居中

要将所有元素垂直居中,使用以下代码:

 1 html, body {
 2     height: 100%;
 3     margin: 0;
 4 }
 5 body {
 6     -webkit-align-items: center;
 7     -ms-flex-align: center;
 8     align-items: center;
 9     display: -webkit-flex;
10     display: flex;
11 }  

7.使用SVG作为图标

SVG可以适应不同的分辨率,并且在所有的浏览器中都支持,还有什么理由不用呢。

1 .logo {
2     background: url("logo.svg");
3 } 

8.等宽的表格单元格

表格工作起来很麻烦,所以务必尽量使用 table-layout: fixed 来保持单元格的等宽:

1 .calendar {
2   table-layout: fixed;
3 } 

9.使用属性选择器用于空链接

当a元素没有文本值,但 href 属性有链接的时候显示链接:

1 a[href^="http"]:empty::before {
2   content: attr(href);
3 } 

10.图片不存在的替代样式

由于某种原因导致图片加载失败,这时我们使用css来友好的告诉用户图片出状况了。

 1 img {
 2     display: block;
 3     font-family: Helvetica, Arial, sans-serif;
 4     font-weight: 300;
 5     height: auto;
 6     line-height: 2;
 7     position: relative;
 8     text-align: center;
 9     width: 100%;
10 }
11 img:before {
12     content: "We‘re sorry, the image below is missing :(";
13     display: block;
14     margin-bottom: 10px;
15 }
16 img:after {
17     content: "(url: " attr(src) ")";
18     display: block;
19     font-size: 12px;
20 } 

11.在表单元素上设置font-size

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

1 input[type="text"],
2 input[type="number"],
3 select,
4 textarea {
5     font-size: 16px;
6 } 

来源:11个提高CSS技巧的小知识,你知道吗?

原文地址:https://www.cnblogs.com/mhxy13867806343/p/8448596.html

时间: 2024-10-07 17:43:41

11个提高CSS技巧的小知识,你知道吗?的相关文章

12个css小知识

1.CSS的color属性并非只能用于文本显示对于CSS的color属性,相信所有Web开发人员都使用过.如果你并不是一个特别有经验的程序员,我相信你未必知道color属性除了能用在文本显示,还可以用作其它地方.它可以把页面上的所有的东西都变颜色.比如:无法显示的图片的alt文字list元素的边框无序list元素前面的小点有序list元素前面的数字还有hr元素 2.CSS里的visibility属性有个collapse属性值:collapse对于CSS里的visibility属性,相信你用过不下

12个你未必知道的CSS小知识

虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过. 1.CSS的color属性并非只能用于文本显示 对于CSS的color属性,相信所有Web开发人员都使用过.如果你并不是一个特别有经验的程序员,我相信你未必知道color属性除了能用在文本显示,还可以用作其它地方. 请注意,上面的代码里只使用了一个color属性,就是在body元素上,设置成了yellow.但是,你也看到了,所有这个页面上的东西都变成了黄色

如何能提高CSS编写技巧 提高Web前端开发效率

如何能提高CSS编写技巧?怎么学好Web前端开发?很多人在学习Web前端时,刚开始都会学习HTML和CSS,HTML用于文本内容,CSS用于样式设计,掌握这两部分知识就可以进行简单的页面制作.不过如果耗时过长作品一般未免有些得不偿失,因此你需要掌握一些技巧,以提高CSS编写效率. 1.使用flex进行布局 flex弹性布局的出现是有原因的.浮动和inline-block虽然也能实现很多的布局效果,但它们本质上是文本和块元素布局的工具,而不是面向整个网页的.flex可以很容易的按照我们预期的方式创

分享两个提高效率的AndroidStudio小技巧

原文:https://www.jianshu.com/p/68fd5373effc 这次分享两个 Android Studio 的小技巧,能够有效提高效率和减少犯错,尤其是在团队协作开发中. Getter 模板修改--自动处理 null 判断 格式化代码自动整理方法位置--广度 or 深度 好了,下面优先介绍下这两个小技巧有什么作用,然后再给出使用教程,想直接看教程的可以直接跳到最后. 目的 Getter 模板修改 开发过程中,经常会遇到空指针异常,尤其是在线上 bug 中,由于未进行 null

一个提高查找速度的小技巧

在一个数组中查找某一个元素,或是在一个字符串中查找某个字符,我们一般都会写出如下代码.这样的代码虽然简洁明了,但在数组元素很多的情况下,并不是一个很好的解决方案,今天我就来分享一个提高查找速度的小技巧. //在一个int数组中查找某个元素 int find(int A[],int n,int element) { for( int i = 0; i < n; i++ ) { if( A[i] == element ) return i; } return -1; } //在一个字符串中查找某个字

提高myeclipse性能的小技巧(个人整理)

提高myeclipse性能的小技巧,个人整理,还有很多不全的地方,希望大家提出,共同进步. 1.工具栏的设置 工具栏中有很多不常用的图标,可以通过windows->Customize Perspective自己选择. 2.启动项设置 myeclipse在启动时,会加载相关启动项,其中有很多是我们用不到的容器,我们可以通过相关配置来选择启动与否.如:我不用jboss这个容器,我就去掉勾选,这样,在启动时,就不会加载此容器. 3.设置默认编辑器 大家都碰到过这样的问题,打开一个jsp页面或者html

平时遇见CSS的一些小技巧

清除浮动的三种方法 1.使用clear 样式清除 样例: .clear-float {clear:both;} clear 属性是 CSS 1 就提供的用来清除浮动的样式,设置了 clear 属性的元素,其上边框位置会紧贴浮动元素的 margin-bottom 边界位置渲染,忽略其 margin-top 设置.这样,父容器高度未设定(值是 auto)时,由于定义的清理浮动样式元素所在位置处于浮动元素之下,容器计算后的实际高度就包含了浮动元素. 2.使用伪元素:after 清除 样例:.after

【前端词典】几个有益的 CSS 小知识

今天偷个懒,不长篇大论,分享几个你可能不知道的 CSS 小知识. 样式的顺序 CSS 代码: HTML 代码: 记得之前这是一道比较火的 CSS 考题,当时好像是有不少的人答错(30% 以上) 答案你们应该是知道的. 可以这样提升 CSS 性能 后代选择器 样式选择器中间的空格是什么?它的名字是 —— 后代选择器. 为什么会更消耗性能呢? 因为浏览器首先会找到所有p标签,然后再向上查找包含class为div标签.这样一来如果代码中有很多p标签,无疑是会做很多重复工作的. 所以可以减少使用 HTM

几个有益的 CSS 小知识

样式的顺序 CSS 代码: HTML 代码: 记得之前这是一道比较火的 CSS 考题,当时好像是有不少的人答错(30% 以上) 答案你们应该是知道的. 可以这样提升 CSS 性能 后代选择器 样式选择器中间的空格是什么?它的名字是 —— 后代选择器. 为什么会更消耗性能呢? 因为浏览器首先会找到所有p标签,然后再向上查找包含class为div标签.这样一来如果代码中有很多p标签,无疑是会做很多重复工作的. 所以可以减少使用 HTML 标签来定义 CSS 的方式,换成使用具体的class. 浏览器