一些默认样式在不同的浏览器中可能不一样,这就导致在开发项目中,浏览器的默认样式会给我们带来很大的麻烦,从而影响开发效率。最好的解决方案是在一起开始的时候就将浏览器的默认样式全部去掉或者覆盖掉,通过重新定义标签的样式来确保标签在各个浏览器下表现的特征一致。如下是一些经常需要重置的标签的默认样式及重置情况:
1.body元素---上下左右4个方向具有外边距(一般浏览器8px)---body{margin:0}
2. ul无序列表/ol有序列表---上下具有外边距、列表样式默认有小圆点、左边有内填充(一般浏览器12px的上、下外边距和40px的左内边距)
ul/ol{
list-style:none;/*清除小圆点*/
margin:0;
padding:0;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
/*margin:0px;!*body元素默认存在8px的外边距,这里重置body的外边距为0*!*/
font-size:12px;
text-align: center;
font-family: Verdana, Geneva,sans-serif;
}
#menu{
width:100px;
border:1px solid #ccc;
}
#menu ul{
/*margin:0px;!*ul上下外边距默认为12px,重置ul的默认外边距样式*!*/
/*padding:0px;!*ul的左内边距默认为40px, 重置ul的默认内边距样式*!*/
list-style-type: none;
}
#menu ul li{
padding:12px 0px;/*设置列表项与边框的上下内边距为12px,左右内边距为0*/
background: #eee;
border-bottom: 1px solid #ccc;/*设置列表项的下边框*/
}
#menu ul li.last{
border-bottom: 0px;/*将最后一个列表项的下边框取消*/
}
a:link{
color:#000;
text-decoration: none;
}
a:hover{
color: #f00;
}
</style>
</head>
<body>
<div id="menu">
<ul>
<li><a href="#">菜单项1</a></li>
<li><a href="#">菜单项2</a></li>
<li><a href="#">菜单项3</a></li>
<li><a href="#">菜单项4</a></li>
<li><a href="#">菜单项5</a></li>
<li class="last"><a href="#">菜单项6</a></li>
</ul>
</div>
</body>
</html>
在重置后的效果图:
3.p元素---上下具有外边距---p{margin:0}
4.h1~h6---上下具有外边距---h1,h2,h3,h4,h5,h6{margin:0}
5.dl定义列表---dl上下有外边距、dd坐标有内边距
dl{
magrin:0;
}dd{
padding:0;
}
6.mark---背景默认是黄色背景、字体颜色默认是黑色
mark{
background:none;/*mark是标记标签,用来区分元素,默认样式根据实际情况来清除或者更换背景色*/
}
7.strong---默认字体加粗---strong{font-weight:normal;/*根据实际来清除默认样式*/
8.em---默认字体倾斜---em{font-style:normal;/*根据实际来清除默认样式*/}
9.a---默认有下划线,字体默认蓝色---a{text-decoration:none;color:#333;/*颜色可根据实际设置*/}
10.img---容器有边框时,图片底层默认有1px的空隙
img{/*容器有边框时的样式重置*/
vertical-align:top|middle|bottom/*任选其一*/
border:none;/*非标准的IE中,图片超链接中的图片默认会显示边框*/
}
11.input有默认上下为1px的padding值