提升您的CSS 20 Pro CSS技巧
前端的快速发展越来越注重效率–更快的加载和渲染通过选择器选择和减少代码。预处理器和丽不喜欢很长的路要走,我们所做的一些工作,但是有很多方式来写最小,快速的CSS地道。本指南包括20 Pro CSS技巧来帮助你减少重复的规则和重写,规范的造型在你的布局与流量将帮助您创建一个个人的框架,不仅是有效的,但是解决许多常见的问题。
如果你对CSS的相对较新的,看看权力的CSS选择器和如何使用它们在很多超选择这里的特色深入底漆。
1–使用CSS重置
CSS重置的图书馆一样,normalize.css已经多年了,对于你的网站的风格,有助于确保跨浏览器的一致性更好的提供一个干净的石板。大多数项目不需要所有这些图书馆的规则包括,可以得到一个简单的规则来消除所有的利润和填料应用于大多数元素在你的布局由浏览器默认的盒模型:
* {
盒尺寸:边界盒;
保证金:0;
填充
使用盒尺寸声明是可选的–如果你追随继承盒尺寸提示下,你可以跳过它。
2–继承盒尺寸
让盒尺寸被继承HTML:
html {
盒尺寸:边界盒;
}
*,*:前,后{
*:盒尺寸:继承
这使得它更容易改变盒尺寸当代码是通过第三方插件或使用不同行为的应用介绍。
3–摆脱边缘与flexbox黑客
有多少次你想设计一个网格,如组合或图像画廊,在那里你用彩车,然后清除或复位的利润得到柱打入行您所要的号码吗?摆脱n,第一,和最后一个孩子的黑客利用空间之间在flexbox属性值:
。Flex容器{
显示:弯曲;
证明内容:空间之间;
}
。Flex容器。项目{
柔性基础
现在列沟总是出现间隔均匀。了解更多关于flexbox与5个简单的步骤,掌握CSS flexbox
4–使用:not()在列举式的边界
在网页设计中一个很常见的做法是使用:最后一个孩子或:nth-child选择器撤销先前宣布的对父选择器的样式。想一个导航菜单,使用边界创建链接之间的隔膜,和第二补充规则,以边境关闭结束:
李{
。资产净值
边境:1px solid # 666;
}
。导航李:最后一个孩子{
边境权:无
这是相当混乱,因为它不仅迫使浏览器渲染的一件事,然后解开它的特定的选择器。复位方式这种方式有时是不可避免的,但是最重要的是,你可以使用:not()伪类仅适用于一个风格,你想在一个声明的元素:
李:不是。资产净值(:最后一个孩子){
边框右:1px solid # 666;
这个说,把边界上的所有资产净值。除了最后一个列表项。简单的!
当然,你也可以使用资产净值+李李。甚至李:第一个孩子。资产净值~李,但:not()总会有更多的语义和容易理解。
5–添加线高度到身体
一件事导致低效的样式是一遍又一遍的重复声明。好让你在规划你的项目和组合规则,更流畅的将CSS。一个办法是了解级联和你如何写通用选择器的样式可以继承的其他地方。线的高度是一个属性可以设置为您的整个项目,不仅可以减少代码行,但执行标准看你的网站的排版。
而不是增加线高度每一个
,< h >等,将它添加到身体:
体{
线高度:1.5;
请注意我们不申报单位在这里–我们告诉它做线高度的一倍半以上为呈现文本的字体大小。
6–垂直中心的东西
设置一个全局规则垂直中心布局是设置基础设置内容布局优雅,你不准备使用CSS网格的一个好方法。
HTML,体{
高度:100%;
保证金:0;
}
体{
WebKit项目:中心对齐;
MS Flex对齐:中心;
对齐项目:中心;
显示
我们进入细节你可以垂直中心事物的方式CSS垂直居中一切你需要知道的
7–使用SVG图标
SVG的规模以及决议所有类型和所有的浏览器都支持。所以放弃。PNG,JPG,GIF,或如果任何文件。即使FontAwesome现在提供SVG图标字体fontawesome 5。设置SVG工作就像任何其他的图像类型:
。标志{
背景:URL(”标志。SVG);
可提示:如果你使用SVG为交互元素,如按钮和SVG加载失败,这样的规定将帮助保持可达性(确保有适当的咏叹调属性设置在HTML):
。没有SVG。图标:
内容后,{:attr(咏叹调
标签);
8–使用“猫头鹰”选择器
使用通用选择器(*与相邻同胞选择器()+)提供了一个强大的CSS的能力,使我们能够对所有元素在文档流,特别跟其他元素设置规则:
* + * {
边距:1.5rem;
这是一个很棒的技巧,可以帮助你创建更均匀型和间距。在上面的例子中,所有的元素,其他元素,如H4,如下一个H3,或一段一段,都会有至少1.5rems空间(约等于30px。)
9–垂直节奏一致
一致的垂直节奏提供了一个视觉审美,使内容更可读。在猫头鹰选择器可太一般,使用通用选择器(*)元素内创建你的布局的特定部分一致的垂直节奏:
。介绍> * {
margin-bottom: 1.25rem;
10–使用包厢装修打破对于漂亮的包装文字
说你想应用均匀间距,边距,亮点或背景颜色的长长的文字,包多行,但不想整个段落或标题看起来像一个大的块。这个包厢装修打破属性允许您将样式应用于文本而不只是填充和边缘完整。这是特别有用,如果你想申请的亮点在盘旋,或风格的文本在一个滑块有突出的样子:
P {
显示:内联块;
箱装饰的休息:克隆;
- o-box-decoration-break:克隆;
WebKit的盒子
这个内联块声明允许的颜色、背景、边距与填充于每行文本而不是整个单元,和克隆宣言保证那些风格一致的应用于各个线一样。
11–宽度相等的表格单元格
表格可以这样尝试使用与工作的痛苦表格布局:固定保持细胞的宽度相等:
{
。日历表布局:
固定;
12–力空链接显示属性选择器
这是插入通过CMS链接是非常有用的,它通常不具有阶级属性,有助于你的风格特别不一般的影响级联。例如,在<一>元素没有文本价值但href属性有一个链接:
一个[链接^ =“http”]:空::{
之前
内容:attr(链接);
13–风格的“默认”的链接
说到链接的风格,你可以找到一个通用的风格在每一个样式表。这迫使你写额外的覆盖和在子元素中的任何链接的样式规则,当工作与CMS一样,WordPress可以引起你和国王的链接样式取代按钮文字颜色的问题,例如。试试这个低侵入性的方法来添加样式为“默认”链接:
一个[链接]:不([类]){
颜色:# 999;
文字装饰:无;
过渡:都缓解了
现在的方式只适用于自己,否则没有其他样式规则的链接。
14–内在比盒
创建一个盒子,一种内在的比例,所有你需要做的是将顶部或底部填充div:
容器。{
高度:0;
填充底:20%;
位置:相对;
}
。容器div {
边境:2px冲# DDD;
高度:100%;
左:0;
位置
用20%填充使得盒等于20%的宽度高度。无论宽度的视口,孩子div将保持其纵横比(100% / 20% = 5:1)。
15–式破碎的画面
这个提示是不是代码的减少和更多的精炼你的设计细节。破碎的形象发生了一些原因,也不美观或导致混乱(只是一个空元素)。创建此点CSS更讨人喜欢:
img {
显示:块;
字体:黑体,Arial,sans-serif;
字体重量:300;
高度:汽车;
线高度:2;
位置:相对;
文本对齐:中心;
宽度:100%;
}
图片:在{
内容:“我们很抱歉,下面的图片是缺少:(”;
显示:块;
margin-bottom: 10px;
}
img {:后
内容:“(网址:“attr(
16–使用REM全球上浆;使用相对长度单位局部尺寸
在根设置基础字体大小,例如html {字体大小:15px;},你可以设置字体大小含有元素REM:
第{
字体大小:1.25rem;
}
一边{
字体大小:。9rem
然后设置字体大小的文本元素的EM:
H2 {
字体大小:2em;
}
p {
字体大小:1em
现在每个包含元素成为划分和容易的风格,更易于维护,灵活。
17–隐藏自动播放视频,不柔和
这是一个自定义用户样式表的一大诀窍当工作内容你无法轻易的从源头控制。这个技巧将帮助你避免恼人的访问者的声音从一个视频播放时加载页面,再表现精彩:not()伪选择器:
视频[自动]:不([MUTED]){
显示:无;
18–使用root灵活型
在响应式布局的字体大小可以调整视口自动,节省您的书写媒体查询只处理字体大小的工作。你可以计算字体大小基于视窗的高度和宽度的使用root和观察单位:
:根{
字体大小:钙(1vw + 1vh +。5vmin);
现在你可以利用根相对长度单位基于计算的价值单位root
体{
字体:1rem / 1.6
sans-serif;
结合睡眠/ EM技巧上面更大的控制。看到CSS修复iOS VH单位的bug提示管理旧版本的Safari。
19–集字体大小为更好的移动体验的形式元素
为了避免移动浏览器(iOS的Safari,等。)从放大在HTML表单元素当<选择>下拉是抽头,加字体大小的输入方式:
输入[类型=“文本”],[
输入type=“数”],
选择,
textarea {
20–使用CSS变量!
最后但并非最不重要的,最强大的CSS水平来自CSS变量,它可以声明一组常见的属性值,可以通过在样式表中任何一个关键词。你的品牌可能有一系列的颜色是整个项目用来保持一致。这些颜色值的重复一遍又一遍的在你的CSS不仅是一件苦差事,但也容易出错。如果颜色需要在某一点发生了变化,你不得不查找和替换,这是不可靠的或快,当建筑产品的最终用户进行定制的变量更容易。例如:
:根{
--主色:# 06c;
--颜色:# 999;
}
H1,H2,H3 {
颜色:VAR(主色);
}
[链接]:一个没有([类]),
P,
页脚跨度{