在css中,很多元素都有默认的样式,比如:
1.p元素有默认的上下margin。
2.h1~h6标题也有上下margin,且字体加粗。
3.body元素有默认的8px外边距。
4.超链接有默认的文字颜色和下划线。
默认样式的原因:
在早期,元素默认样式,能够让我们快速的制作网页,但是如今的网页设计越来越复杂,内容越来越多。这些默认样式会给我们制作网页带来麻烦,所以我们需要去把默认样式取消掉。
方案一:使用全局选择器
*{
margin:0;
padding:0;
......
}
注意:此种方法,在简单案例中可以用一下啊,但是在实际开发中,我们并不会使用,因为并不是所有的元素都有默认样式的。
方案二:reset.css(自己写,然后引入)
选择到具有默认样式的元素,清空其默认的样式。
经过reset后的网页,好似“一张白纸”,开发人员可根据设计稿,精细的去添加具体的样式。
例如:在vue框架中,我们可以搜索reset.css文件。可以查看vue是怎么来重置默认样式的。
/* 清除内外边距 */
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote,
dl, dt, dd, ul, ol, li,
pre,
fieldset, lengend, button, input, textarea,
th, td {
margin: 0;
padding: 0;
}
/* 设置默认字体 */
body,
button, input, select, textarea { /* for ie */
/*font: 12px/1 Tahoma, Helvetica, Arial, "宋体", sans-serif;*/
font: 12px/1.3 "Microsoft YaHei",Tahoma, Helvetica, Arial, "\5b8b\4f53", sans-serif; /* 用 ascii 字符表示,使得在任何编码下都无问题 */
color: #333;
}
h1 { font-size: 18px; /* 18px / 12px = 1.5 */ }
h2 { font-size: 16px; }
h3 { font-size: 14px; }
h4, h5, h6 { font-size: 100%; }
address, cite, dfn, em, var, i{ font-style: normal; } /* 将斜体扶正 */
b, strong{ font-weight: normal; } /* 将粗体扶细 */
code, kbd, pre, samp, tt { font-family: "Courier New", Courier, monospace; } /* 统一等宽字体 */
small { font-size: 12px; } /* 小于 12px 的中文很难阅读,让 small 正常化 */
/* 重置列表元素 */
ul, ol { list-style: none; }
/* 重置文本格式元素 */
a { text-decoration: none; color: #666;}
/* 重置表单元素 */
legend { color: #000; } /* for ie6 */
fieldset, img { border: none; }
button, input, select, textarea {
font-size: 100%; /* 使得表单元素在 ie 下能继承字体大小 */
}
/* 重置表格元素 */
table {
border-collapse: collapse;
border-spacing: 0;
}
/* 重置 hr */
hr {
border: none;
height: 1px;
}
.clearFix::after{
content:"";
display: block;
clear:both;
}
/* 让非ie浏览器默认也显示垂直滚动条,防止因滚动条引起的闪烁 */
html { overflow-y: scroll; }
a:link:hover{
color : rgb(79, 76, 212) !important;
text-decoration: underline;
}
/* 清除浮动 */
.clearfix::after {
display: block;
height: 0;
content: "";
clear: both;
visibility: hidden;
}
方案三:Normalize.css
Normalize.css是一种新的方案,它在清楚默认样式的基础上,保留了一些有价值的默认样式。
官网:GitHub - necolas/normalize.css: A modern alternative to CSS resets
优点:
1,保护了有价值的默认样式,而不是完全去掉它们。
2,为大部分HTML元素提供一般化的样式。
3,新增H5元素的设置。
4,对并集选择器的使用比较谨慎,有效避免调试工具杂乱。
推荐:
现在实际开发,大部分都是利用vue或这react进行快速开发,避免重复的造轮子,这些框架里面一般都有自带的重置默认样式的css文件,所以一般选择框架本身的就行,当然如果对你的需求来说,这些自带的不合适,那么可以自己写。