web前端开发工程师必会12 个 CSS 高级技巧汇总,完爆面试官

40 阅读3分钟

}

……然后再除去最后一个元素……

//* remove border */

.nav li:last-child {

border-right: none;

}

……可以直接使用 :not() 伪类来应用元素:

.nav li:not(:last-child) {

border-right: 1px solid #666;

}

这样代码就干净,易读,易于理解了。

当然,如果你的新元素有兄弟元素的话,也可以使用通用的兄弟选择符(~):

..nav li:first-child ~ li {

border-left: 1px solid #666;

}

给 body添加行高

你不需要分别添加 line-height 到每个

,等。只要添加到 body 即可:

body {

line-height: 1;

}

这样文本元素就可以很容易地从 body 继承。

所有一切都垂直居中

要将所有元素垂直居中,太简单了:

html, body {

height: 100%;

margin: 0;

}

body {

-webkit-align-items: center;

-ms-flex-align: center;

align-items: center;

display: -webkit-flex;

display: flex;

}

看,是不是很简单。

注:在IE11中要小心flexbox。

逗号分隔的列表

HTML列表项看上去像一个真正的,用逗号分隔的列表:

ul > li:not(:last-child)::after {

content: ",";

}

对最后一个列表项使用 :not() 伪类。

使用负的 nth-child 选择项目

CSS中使用负的 nth-child 选择项目1到项目n。

li {

display: none;

}

/* select items 1 through 3 and display them */

li:nth-child(-n+3) {

display: block;

}

就是这么容易。

对图标使用SVG

我们没有理由不对图标使用SVG:

.logo {

background: url("logo.svg");

}

SVG对所有的分辨率类型都具有良好的扩展性,并支持所有浏览器都回归到IE9。这样可以避开.png、.jpg或.gif文件了。

优化显示文本

有时,字体并不能在所有设备上都达到最佳的显示,所以可以让设备浏览器来帮助你:

html {

-moz-osx-font-smoothing: grayscale;

-webkit-font-smoothing: antialiased;

text-rendering: optimizeLegibility;

}

注:请负责任地使用 optimizeLegibility。此外,IE /Edge没有 text-rendering 支持。

对纯CSS滑块使用 max-height

使用 max-height 和溢出隐藏来实现只有CSS的滑块:

.slider ul {

max-height: 0;

overlow: hidden;

}

.slider:hover ul {

max-height: 1000px;

transition: .3s ease;

}

继承 box-sizing

让 box-sizing 继承 html:

html {

box-sizing: border-box;

}

*, *:before, *:after {

box-sizing: inherit;

}

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

表格单元格等宽

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

.calendar {

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

css源码pdf

JavaScript知识点

开源分享:docs.qq.com/doc/DSmRnRG…