欢迎来真孝善网,为您提供真孝善正能量书籍故事!

深入了解reset.css:你所不知的细节与技巧

时间:11-07 神话故事 提交错误

大家好,感谢邀请,今天来为大家分享一下深入了解reset.css:你所不知的细节与技巧的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {

边距: 0;

填充: 0;

}

桌子{

border-collapse: 折叠;

边框间距: 0;

}

字段集,img {

边框: 0;

}

地址、标题、引用、代码、dfn、em、strong、th、var {

字体样式:正常;

字体粗细:正常;

}

ol, ul {

列表样式: 无;

}

标题,th {

文本对齐: 左;

}

h1、h2、h3、h4、h5、h6 {

字体大小: 100%;

字体粗细:正常;

}

q: 之前,q: 之后{

内容:"";

}

缩写词、缩写词{

边框: 0;

}首先我们要知道CSS RESET的目的是什么?是为了消除不同浏览器在默认样式中的不同行为,但今天,现代浏览器在这方面的差异已经变得小了很多。

reset.css 存在的问题

看第一段:

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {

边距: 0;

填充: 0;

}此样式的目的是清除元素的默认边距和填充。

但这段代码充满了问题。

div、dt、li、th、td 等标签没有默认的padding 和margin。如果我现在问你fieldset标签是什么,可能很少有人知道。类似的标签(例如块引用和首字母缩略词)是非常不常见的标签。它基本上不会出现在html代码中。事实上,不需要RESET。它只会给每个项目添加多余的代码;上面的意思就是这段代码实际上做了很多无用的工作!

要知道,CSS RESET 的范围是全局的。我们都知道我们应该尽量避免在脚本代码中滥用全局变量,但是当涉及到CSS 时我们总是忘记这一点。大量的全局变量会让项目变大之后维护起来非常困难。

再看一下这段:

h1、h2、h3、h4、h5、h6 {

字体大小: 100%;

字体粗细:正常;

}

ol, ul {

列表样式: 无;

}这段代码的目的是为了统一h1~h6的表现,取消标题的粗体显示,取消列表元素的item点。

看似没有问题,但是h1~h6、ol、ul等具有特定语义的元素,一旦去掉自己的特性,并没有被赋予自己语义应有的样式(往往没有),导致问题越来越多。很多人都搞不清楚它们的语义。另一方面,这也是为什么越来越多的页面充斥着div而缺乏语义标签的重要原因。

YUI 版本的重置是一种一刀切的方法,无论身高或体重如何。看似将所有元素统一在同一个起跑线上,但实际上却增加了很多冗余代码,得不偿失。

因此,YUI的reset.css的许多问题导致了另一个版本的reset.css的创建,名为Normalize.css。

Normalize.css

Normalize.css 有详细注释。由于太长,您可以点击网址看一下。本文不贴出全部代码。

Normalize.css 与reset.css 的样式完全相反。它并不适用一刀切,而是专注于一种通用的解决方案,重置重置样式(例如正文的默认边距)并保留用户代理。样式和一些错误修复,这是重置所缺乏的。

Normalize.css 做了什么

统一了一些元素在所有浏览器中的行为,保护有用的浏览器默认样式而不是完全清除它们,以便它们在浏览器中表现一致;为大多数元素提供通用行为;修复了一些浏览器错误并使其在所有浏览器中保持一致;通过一些巧妙的细节改进了CSS 的可用性;提供详细的文档,让开发者了解不同元素在不同浏览器下的渲染规则;我真诚地建议您花时间阅读Normalize.css的源代码,其中总共有460行注释,以了解更多关于每个浏览器历史遗留下来的一些陷阱。

关于取舍

那么,我们最后来讨论一下权衡的问题。 Normalize.css 真的比Reset.css 更好吗?

不一定,Normalize.css 中重置和修复的许多错误甚至可能不会被我们项目中的十个项目之一使用。所以这些重置或者修复从某种意义上来说也是所谓的多余。剩余代码。

我觉得最重要的是拒绝使用,不要听别人说的。当你看到别人说reset.css好用时,你就不懂了,就直接用了,添加到项目中去。或者也许我已经写了好几年的代码了,我知道每次都会引用reset,但我从来没有详细理解过每句话的含义。

关于维护

团队根据项目的需要写出适合团队项目的reset后(可能混合了reset或者normalize),不断迭代或者复用,很有可能这个版本的reset.css会逐渐添加许多其他全球风格并陷入上述相同的问题。

用户评论

野兽之美

我一直用的默认浏览器样式,突然发现这个叫做 reset.css 的东西。

    有5位网友表示赞同!

凉话刺骨

想了解一下这个 reset.css 能解决什么问题,它真的有用吗?

    有13位网友表示赞同!

赋流云

我之前听说过重置 CSS 的概念,但不知道具体怎么用这个 reset.css ?

    有14位网友表示赞同!

眼角有泪°

最近在做网页设计的练习,有人说要用 reset.css 来确保每个浏览器的样式都一样。

    有8位网友表示赞同!

关于道别

学习前端开发,遇到这个问题了,想看看其他人的经验分享。

    有14位网友表示赞同!

陌離

我听说过CSS 有一些浏览器默认样式会比较奇怪,这个 reset.css 可以解决吗?

    有18位网友表示赞同!

闲肆

想知道reset.css 实际的使用方法,还有哪些需要注意的事项吗?

    有8位网友表示赞同!

愁杀

重置所有元素的样式听起来挺酷的,不过会不会很麻烦呢?

    有14位网友表示赞同!

回忆未来

用 reset.css 能提升网页代码的可阅读性和效率吗?

    有16位网友表示赞同!

终究会走-

有没有专门介绍 reset.css 的博客文章或教程推荐?

    有20位网友表示赞同!

此生一诺

如果用了 reset.css ,还需要再调整样式吗?

    有18位网友表示赞同!

惯例

在实际项目中,使用 reset.css 是比较普遍的吗?

    有20位网友表示赞同!

陌颜

我想知道这个 reset.css 文件在哪里找得到的啊!

    有11位网友表示赞同!

男神大妈

用哪个编辑器可以更好地利用 reset.css 呢?

    有12位网友表示赞同!

安之若素

reset.css 和一些框架(比如 Bootstrap)有什么区别吗?

    有16位网友表示赞同!

灬一抹丶苍白

使用 reset.css 能保证所有浏览器兼容性吗?

    有16位网友表示赞同!

像从了良

对于 CSS 初学者来说,学习 reset.css 有什么帮助?

    有12位网友表示赞同!

一纸愁肠。

有没有类似 reset.css 的其他工具可以推荐吗?

    有11位网友表示赞同!

【深入了解reset.css:你所不知的细节与技巧】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活