`
wx1568908808
  • 浏览: 31392 次
文章分类
社区版块
存档分类
最新评论

CSS 专业的技巧

 
阅读更多

使用CSS复位

CSS重置帮助实施用干净的石板为造型元素在不同的浏览器风格的一致性。您可以使用CSS复位库像Normalize等,也可以使用一个更简化的复位方法:

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

现在的元素将被剥离利润率和填充和box-sizing,您可以管理与CSS盒模型布局。

 

注意:如果按照继承 box-sizing尖下面你可能会选择不包含在你的CSS复位box-sizing财产。

 

继承 box-sizing

从 html 元素继承 box-sizing 就好:

html {
  box-sizing: border-box;
}

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

如此在插件或其它组件里改变 box-sizing 变得简单。

 

使用 :not() 选择器来决定表单是否显示边框

与其加上边框……

/* 添加边框 */
.nav li {
  border-right: 1px solid #666;
}

……然后去掉最后一个元素的边框……

/* 去掉边框 */
.nav li:last-child {
  border-right: none;
}

……不如使用 :not() 伪类来达成同样的效果:

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

当然,也可以使用 .nav li + li 或者 .nav li:first-child ~ li 来达成,但是 :not() 选择器的方式更清晰明了,一目了然。

 

 

为 body 元素添加行高

不必为每一个 <p><h*>,等元素逐一添加 line-height,为 body 元素添加就好了:

body {
  line-height: 1.5;
}

文本元素可以很自然地继承 body 的样式。

 

 

垂直居中任何元素

这不是黑魔法,真的可以垂直居中任何元素:

html, body {
  height: 100%;
  margin: 0;
}

body {
  -webkit-align-items: center;  
  -ms-flex-align: center;  
  align-items: center;
  display: -webkit-flex;
  display: flex;
}

这还不够?垂直方向,水平方向……任何元素,任何时间,任何地方?CSS-Tricks 有篇好文 讲到了各种居中的技巧。

注意: IE11 对 flexbox 的支持有点 bug

 

逗号分隔的列表

列表的每项都由逗号分隔:

ul > li:not(:last-child)::after {
  content: ",";
}

使用了 :not() 伪类,因此最后一项没加逗号。

注意:这一技巧对于无障碍,屏幕阅读器而言并不理想,需要注意。

 

 

使用负的 nth-child 来选择元素

使用负的 nth-child 可以选择 1 至 n 个元素。

li {
  display: none;
}

/* 选择第 1 至第 3 个元素并显示出来 */
li:nth-child(-n+3) {
  display: block;
}

或许你已经掌握了如何使用 :not(),试下这个:

/* 选择第 1 至第 3 个元素并显示出来 */
li:not(:nth-child(-n+3)) {
  display: none;
}

就是这么简单。

 

 

 

 

使用 SVG 图标

没有理由不使用 SVG 图标:

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

SVG 在所有分辨率下都可以良好缩放,IE9+ 及其它所有浏览器都支持,丢掉你的 .png, .jpg, 或 .gif-jif-whatev 文件吧。

注意: 针对仅有图标的按钮,如果 SVG 没有加载成功的话,以下样式对无障碍有所帮助:

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

 

 

 

使用 “形似猫头鹰” 的选择器

这个名字可能比较陌生,不过全局选择器 (*) 和 相邻兄弟选择器 (+) 一起使用,效果非凡:

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

在此示例中,遵循其他元素的文档流中的所有元素将都接收上边距 margin-top: 1.5em 的样式。

更多 “形似猫头鹰” 的选择器,可参考 A List Apart 上面 Heydon Pickering 的文章

 

 

 

 

使用 max-height 来建立纯 CSS 的滑块

max-height 与 overflow hidden 一起来建立纯 CSS 的滑块:

.slider {
  max-height: 200px;
  overflow-y: hidden;
  width: 300px;
}

.slider:hover {
  max-height: 600px;
  overflow-y: scroll;
}

移入滑块元素时增大它的 max-height 的值,便可以显示溢出部分。

 

 

创造格子等宽的表格

table-layout: fixed 可以让每个格子保持等宽:

.calendar {
  table-layout: fixed;
}

无痛的 table 布局。

 

 

 

 

利用 Flexbox 去除多余的外边距

与其使用 nth-, first-, 和 last-child 去除列之间多余的间隙,不如使用 flexbox 的 space-between 属性:

.list {
  display: flex;
  justify-content: space-between;
}

.list .person {
  flex-basis: 23%;
}

列之间的间隙相等,并且首尾没有多余的间隙。

 

 

利用属性选择器来选择空链接

当 <a> 元素没有文本内容,但是有 href 属性的时候,可以显示它的 href 链接:

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

相当简便。

 

 

 

 

给 “预设” 链接定义样式

给 “预设” 链接定义样式:

a[href]:not([class]) {
  color: #008000;
  text-decoration: underline;
}

通过 CMS 系统插入的链接,通常没有 class 属性,以上样式可以甄别它们,而且不会影响其它样式。

 

 

一致的垂直节奏

通用选择器 (*) 跟元素一起使用,可以保持一致的垂直节奏:

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

一致的垂直节奏可以提供视觉美感,增强内容的可读性。

 

 

内在比例盒

要创建具有内在比一个盒子,所有你需要做的就是应用顶部或底部填充,从一个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)。

 

 

 

 

为破碎图象定义样式

只要一点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%;
}

以添加伪元素的法则来显示使用者信息和虚线图像URL的引用:

img:before {  
  content: "We're sorry, the image below is broken :(";
  display: block;
  margin-bottom: 10px;
}

img:after {  
  content: "(url: " attr(src) ")";
  display: block;
  font-size: 12px;
}

了解更多关于这类样式的技巧 Ire Aderinokun的 原帖.

 

 

用 rem 来调整全局大小;用 em 来调整局部大小

在根设置基本字体大小后 (html { font-size: 100%; }), 请设置为文本元素的字体大小 em:

h2 { 
  font-size: 2em;
}

p {
  font-size: 1em;
}

然后设置字体大小的模块 rem:

article {
  font-size: 1.25rem;
}

aside .module {
  font-size: .9rem;
}

现在,每个模块变得条块分割,更容易、灵活的样式,以便于维护。

 

 

隐藏没有静音、自动播放的影片

这是一个自定义的使用者样式表一个伟大的把戏。避免在加载页面时自动播放。如果没有静音,则不显示视频:

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

再次,我們趁著使用的 :not() 偽類。

 

 

使用选择器:root来控制字体弹性

在响应式布局的类型字体大小应能与每个视区进行调整。你可以计算的基础上视区高度的字体大小和宽度,使用:root:

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

现在,您可以利用基于计算的值root em单位:root:

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

 

 

 

 

font-size关于表单元素为更好的移动体验

为了避免在HTML表单元素缩放移动浏览器(Safari浏览器的iOS,et AL。)当一个<选择>下拉被窃听,加上字体size的选择规则:

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

转载于:https://my.oschina.net/Tongyingcheng/blog/833146

分享到:
评论

相关推荐

    css9种设计技巧

    在网页设计中,CSS(Cascading Style Sheets)起着至关重要的作用,它允许我们对网页的布局、颜色、字体等样式进行精确控制。...在实践中,灵活运用这些技巧可以提升网页的用户体验,并使设计更加专业。

    CSS使用技巧的word文档

    在网页设计中,CSS(Cascading Style Sheets)是一种用于定义HTML或XML(包括SVG、XHTML等)文档中元素外观、布局和结构的关键技术。...熟练掌握并运用这些技巧,可以让你的网站看起来更加专业和精致。

    CSS 设置技巧(单位和值与样式设置技巧)

    【CSS 设置技巧(单位和值与样式设置技巧)】 在CSS中,设置合适的单位和值是创建美观且响应式布局的关键。以下将详细介绍颜色值、长度...在实践中不断探索和掌握这些技巧,将有助于提升网页设计的专业性和用户体验。

    CSSProtips帮助你提高CSS技能专业的技巧集合

    CSS Protips 帮助你提高CSS技能专业的技巧集合

    css&js&vue.docx

    【CSS专业技巧】 1. **单侧投影**:在CSS中,`box-shadow`属性用于创建元素的阴影效果。在创建单侧投影时,我们利用第四个参数——扩张半径,通过设定负值来使投影与元素尺寸相匹配。例如: ```css .element { ...

    制作网页Css使用技巧

    在网页设计领域,CSS(Cascading Style Sheets)是至关重要的技术,用于定义网页的布局、样式和视觉表现。这个“制作网页Css使用技巧”资料...通过深入学习并实践这些技巧,你将能够创作出更专业、更具吸引力的网页。

    css 颜色搭配技巧

    ### CSS颜色搭配技巧详解 #### 一、颜色搭配的重要性 颜色搭配不仅是平面设计中的关键要素,也是网页设计中不可或缺的一部分。良好的颜色搭配不仅能提升视觉吸引力,还能有效地传递品牌信息和情感,增强用户体验。...

    css课件+CSS2中文手册+CSS 速成手册+css技巧

    快速学习CSS可以提高工作效率,使开发者能够在短时间内打造出专业级别的网页设计。 “css技巧.chm”文件可能包含一些高级或特定场景下的CSS应用,如如何实现复杂的布局技巧、优化性能、兼容性问题处理,以及一些...

    css2.0中文实用(提供大量CSS页面技巧应用、实用性很强)

    在本指南中,我们将深入探讨CSS2.0的一些核心概念和实用技巧。 1. **选择器和属性** CSS2.0引入了更复杂的选择器,如类选择器(`.class`)、ID选择器(`#id`)以及元素选择器(`element`)。此外,还可以使用伪类...

    CSS使用技巧20则

    在网页设计领域,CSS(Cascading Style Sheets...这些技巧涵盖了CSS的基础和高级应用,熟练掌握它们将使你在网页设计中游刃有余,创建出更具专业水平的作品。不断学习和实践,探索CSS的新特性,是保持技术领先的关键。

    日常css制表应用10种技巧

    以下是从专业设计师的经验中提炼出的10种CSS应用技巧: 1. **避免过度链接和导入样式表** - 频繁地链接或导入多个样式表会导致管理混乱,增加调试难度,特别是在大型项目中。保持样式表的简洁和模块化,避免一次性...

    CSS经典技巧十则

    在网页设计领域,CSS(Cascading Style Sheets)是不可或缺的一部分,它负责定义网页的布局、样式和视觉表现。以下是一些CSS的经典技巧,旨在帮助你优化代码,...记得持续关注CSS新特性,保持与时俱进,提升专业技能。

    CSS的十八般技巧教你如何更加有效地使用CSS

    【CSS的十八般技巧】 CSS(层叠样式表)是一种用于描述网页及应用程序用户界面外观和表现的语言。本文总结了18个实用的CSS技巧,旨在帮助开发者...不断学习和实践,可以更好地掌握CSS,提升网页设计和开发的专业水平。

    CSS技巧与工具(EditPlus语法文件下载)

    标题中的“CSS技巧与工具(EditPlus语法文件下载)”暗示了我们即将探讨的是关于CSS(Cascading Style Sheets)的一些高级技巧以及EditPlus编辑器中相关的语法文件。EditPlus是一款功能强大的文本编辑器,尤其适用于...

    CSS的常用技巧

    本篇将深入探讨CSS的常用技巧,帮助你提升网页设计的专业度。 1. **选择器的高效使用** - 类选择器(`.class`):通过类名来选择元素,适用于多个元素共享同一样式的情况。 - ID选择器(`#id`):用于唯一标识一...

    CSS代码与技巧

    本篇将深入探讨CSS代码与技巧,帮助你提升网页设计的专业技能。 首先,我们要理解CSS的基本结构。CSS规则由选择器和声明组成,选择器定位需要改变样式的元素,而声明则包含属性和值,定义具体的样式。例如: ```...

    css揭秘、css权威指南,精通css

    在前端开发领域,CSS(Cascading Style Sheets)是至关重要的技术,用于设计网页和应用程序的样式和布局。...通过系统学习和实践,你可以不断提升CSS技能,从而在网页和应用程序的设计中展现出更高的专业素养。

    css 专业 学习经典教程

    在CSS(层叠样式表)的专业学习中,掌握其核心概念和技巧是至关重要的。CSS是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的语言,它使得我们可以将网页的结构与样式分离,从而使网页设计更加...

Global site tag (gtag.js) - Google Analytics