提高你的CSS20技能 CSS选择器
提高你的CSS20ProCSS技能
前端的快速发展越来越注重效率;通过选择器选择和减少代码(Holly不喜欢太长的路要走,我们做了一些工作,但有很多方法来编写** 小的,快速CSS隧道)更快的加载和渲染。本指南包括20ProCSS个提示,帮助您减少规则重复和重写,布局和流量中的规范建模将帮助您创建一个不仅有效而且解决许多常见问题的个人框架。
如果你对CSS还比较陌生,那么看看CSS选择器的强大功能,以及如何在这里的许多超级选择中使用它们来提供深入的入门知识。
1恩达斯;用CSS复位
CSS像重置库一样,正常化CSS已持续多年。对于您的网站风格,它有助于确保跨浏览器的一致性,并提供一个干净的板岩更好。大多数项目不需要包含所有这些库规则,您可以获得一个简单的规则,以消除浏览器默认框模型应用于布局中大多数元素的所有利润和填充:
*{框大小:边界框;边距:0;填满
使用框大小声明是可选的;如果遵循继承框大小提示,则可以跳过它2ndash;继承框大小
从HTML继承框大小:
HTML{box size:边界框;}*,*:前、后{*:框大小:inherit
这使得在通过第三方插件或使用不同行为的应用程序引入代码时更容易更改框大小。3个破折号;去除边缘和flexbox黑客
有多少次你想设计一个网格,比如公文包或图片库,在那里你使用浮点数,然后清除或重置利润,让列输入到你想要的行中 去掉N,第一个和** 后一个子级黑客在flexbox属性值之间的使用空间:
flex容器{显示:弯曲;证明内容:空格之间;}flex集装箱。项目{柔性基础}
现在排水沟总是等间距的。进一步了解flexbox和掌握CSS flexbox4ndash的5个简单步骤;在枚举的边界处使用:not()
web设计中的一种常见做法是使用** 后一个子选择器或nth-child选择器撤消先前公布的父选择器样式。想象一下导航菜单,它使用边框在链接之间创建一个间隙,第二个补充规则将边框封闭到底:
李{资产净值边框:1pxsolid #666;}。导航李:** 后一个子{右边框:无
这是相当混乱的,因为它不仅迫使浏览器呈现一个东西,然后用一个特定的选择器解开它。这种方式有时是不可避免的,但** 重要的是,您可以使用:not()伪类,它只应用于您希望在声明的元素中使用的样式:
李:否资产净值(:** 后一个子项){右边框:1pxsolid #666;
上面写着,把所有的资产净值放在边界上。除了** 后一个列表项。平凡!
当然,也可以使用资产净值+李李。即使是李:第一个子资产净值~李,但是:not()总是有更多的语义并且容易理解。
5天;在正文中添加行高度
导致效率低下的一件事是反复的陈述。为了使您计划项目和投资组合规则,更流畅的将是CSS。一种方法是了解级联和其他地方,您可以继承通用选择器的样式。行高度是一个属性,可以设置为整个项目,不仅可以减少代码行,而且可以执行标准以查看您的网站排版。
而不是添加每行高度
,lt;h gt;等,添加到主体:
车身线高度:1.5;
请注意,我们在此未申报单位ndash;我们告诉它,对于渲染文本6ndash的字体大小,我们要使其达到行高度的一倍半以上;垂直中心的东西
设置全局规则垂直中心布局是优雅设置基本设置内容布局的好方法,您还没有准备好使用CSS网格。
HTML,正文{高度:100%;边距:0;}主体{WebKit项:中心对齐MS Flex对齐:中心;对齐项目:中心;显示
我们详细介绍了你可以垂直CSS将所有东西垂直7ndash居中的方式;使用SVG图标
SVG支持所有类型和所有浏览器的大小和分辨率。所以放弃PNG、JPG、GIF,或者如果有任何文件。即使字体Awesome现在提供SVG图标字体Awesome5。设置SVG与任何其他图像类型一样工作:
. 标志{后台:URL(现状);标志SVG)
提示:如果使用SVG加载按钮等交互元素,而SVG失败,则此类规定将有助于保持可访问性(确保在HTML中设置适当的咏叹调属性):
. 编号SVG。图标:内容后,{:attr(咏叹调标签);
8ndash;使用“使用;猫头鹰;选择器
使用通用选择器(*和相邻同胞选择器()+)提供了强大的CSS功能,可为文档流中的所有元素设置规则,特别是与其他元素:
*+*{** 金:1.5REM;
这是一个伟大的技术,帮助您创建一个更均匀和间距。在上述示例中,所有元素、其他元素(例如H4、下面的一H3或一次一段,将至少有1.5REMs空间(约等于30px)9ndash;垂直节奏一致
一致的垂直节奏提供了视觉审美,使内容更可读。在owl选择器中,使用通用选择器(*)元素在布局的特定部分中创建一致的垂直节奏太常见:
. 简介gt;*{margin)-bottom:1.25REM
10ndash;用包装盒装饰打破漂亮的包装文字
假设要应用间距、边距、高亮或背景颜色均匀的长文本,并用多行填充,但不希望整个段落或标题看起来像一个大块。此框装饰打断属性允许您将样式应用到文本,而不仅仅是填充和边完整性。如果要应用悬停中的高光,或在滑块中使用高亮显示的样式文字,则此选项特别有用:
p{display:内联块;其余盒装饰:克隆-O-box-decoration-断开:克隆WebKit框
内联块声明允许在文本的每一行而不是整个单元格中填充颜色、背景和边距,克隆声明确保这些样式以相同的方式应用于每一行。
11恩达什;等宽表格单元格
表可以尝试使用疼痛表的布局:修复以保持单元格宽度相等:
{.日历布局:固定;
12ndash; 强制空链接显示属性选择器
这对于通过CMS链接插入非常有用,这些链接通常没有类属性,并且有助于您的样式特别不寻常的影响。例如,在lt;一个gt;元素没有文本值,但href属性有一个链接:
一:空:{上一个内容:attr(link);
13日;风格“和;默认为“是”;链接到
当涉及到链接样式时,您可以在每个样式表中找到一个通用样式。这将强制您为子元素中的任何链接编写附加的替代和样式规则,例如,在使用CMS时,您和国王可能会导致链接样式的颜色而不是按钮文本出现问题。尝试这种低侵入性的方法,添加一个风格的“和;默认为“是”;链接:
一:没有({颜色:###############################;文字装饰:无;过渡期:一切都缓和了
你现在的方式适用于你自己,否则就没有其他样式规则的链接。14ndash公司;内部比较箱
创建一个方框,一个内部刻度,你所需要做的就是填充顶部或底部div:
容器{高度:0;灌装底:20%;位置:相对;}。容器div{边框:2px偏移#DDD高度:100%;左:0;位置
填充20%,使方框等于宽度高度的20%。无论视口的宽度如何,子视口div都将保留它纵横比(100%/20%=5:1)。15ndash公司;破碎的图片
这个技巧是在你的设计细节中代码是否被减少和细化。有一些破碎的图像的原因,他们并不美丽或混乱(只是一个空的元素)。创造这一点CSS更讨人喜欢:
img{显示:块;字体:粗体,Arial,sans-serif;字重:300高度:车;行高度:2;位置:相对位置;文本对齐:居中;宽度:100%;}图片:in{content:quo;很抱歉,缺少以下图片:(quo;;显示:块margin-bottom:10px;}img{:后期内容:quo(网站:quo;属性(
16ndash; 使用REM全局调整大小;使用相对长度单位局部大小
在根目录下设置基本字体大小,例如HTML{font-size:15px;},可以将字体大小设置为包含元素REM:
字号:1.25REM;}侧边{字体size:. 9REM
然后设置字体大小的文本元素的EM:
H2{字号:2em;}p{字号:1em
现在包含它的每个元素都变成了一种划分和简单的样式,更易于维护和灵活。17ndash; 隐藏自动播放视频,不柔和
这对于自定义用户样式表来说是一个很大的技巧,因为它可以处理您无法从源代码轻松控制的内容。这项技术将帮助您避免在播放视频时烦人的访客声音从一加载页面,然后执行美妙的:not()伪选择器:
视频:否(){显示:无;
18日;使用根柔性
响应式布局中的字体大小可以在视口中自动调整,以保存您的书写媒体查询,并且只处理字体大小工作。您可以基于windows高度计算字体大小,并使用根和查看单位计算宽度:
:root{字体大小:Ca(1vw+1vh+)。5分钟)
现在,您可以使用根相对长度单位,它基于计算出的值unit root
字体:1REM/1.6sans-serif;
结合睡眠/EM技术以获得更好的控制。请参阅CSS修复iOS VH单元错误提示以管理旧版本的safari。19ndash; 将字体大小设置为正式元素,以获得更好的移动体验
避免移动浏览器(iOSSafari等)在lt时放大HTML表单元素;选择gt;下拉是点击和字体大小的输入方式
输入,选择,textarea{
20ndash公司;使用CSS变量!
** 后但并非** 不重要的是,** 强大的CSS级别来自CSS变量,它可以通过样式表中的关键词中的任何一个来声明一组公共属性值。您的品牌可能有一系列的颜色,在整个项目中使用,以保持一致性。在你的CSS中一遍又一遍地重复这些颜色值,不仅是件麻烦事,而且容易出错。如果颜色在某个点需要更改,则必须在建筑产品的** 终用户更轻松地自定义变量时查找并替换它,这是不可靠或快速的。例如:
:root{--主颜色:#06C--颜色:#999;}H1,H2,H3{颜色:VAR(主色);}:一个没有()、p和标题范围{