浏览器默认标签样式总结及css初始化程序

 

  html中的大部分的标签都有一些糟糕的样式,有的是标签天然自带的,有的是浏览器默认设置的,我们在写网页时,这些默认的样式就会时不时的跳出来捣一下乱,搞得我们很是无奈。所以成手在写css样式时,一般都会在开头写一段初始化程序,来去掉这些默认样式,比如最简单的方法就是使用*{margin:0;padding:0;}。但是通常我们很少使用这种方法,因为通配符*的效率极低。那我们应该使用哪种方法呢,下面博主就来为大家介绍一些常用的方法。

一、浏览器默认样式总结

  在介绍初始化程序之前,我们先了解一下都有那些标签被设置了哪些默认样式,只有了解清楚了这些,我们才能更好的对标签样式初始化。

(一)、标签自带样式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//块级元素
html, body,  div,ol, p, ul,  h1, h2,h3,h4,h5, h6,
address,blockquote, form,
dd,dl, dt, fieldset, frame, frameset,noframes,center, dir, hr, menu, pre  
{ display: block }
 
//列表元素类
li{ display:list-item }
ol{list-style-type: decimal }
ol ul, ul ol,ul ul, ol ol  { margin-top: 0; margin-bottom: 0 }
ol, ul{ margin-left: 40px }
 
//预格式文本类
i, cite, em,var, address{ font-style: italic }
big{ font-size:1.17em }
small, sub, sup{ font-size: .83em }
sub{ vertical-align:sub }
sup{ vertical-align:super }
s, strike, del{ text-decoration: line-through }
u, ins{ text-decoration:underline }
 
//标题类
h1{ font-size:2em; margin: .67em 0 }
h2{ font-size:1.5em; margin: .75em 0 }
h3{ font-size:1.17em; margin: .83em 0 }
h4, p,blockquote, ul,fieldset, form,ol, dl, dir,menu { margin: 1.12em 0}
h5 { font-size:.83em; margin: 1.5em 0 }
h6{ font-size:.75em; margin: 1.67em 0 }
h1, h2, h3, h4,h5, h6, b,strong  { font-weight: bolder }
 
 
//伪类
br:before{ content: ”\A” }
:before, :after{ white-space: pre-line }
:link, :visited { text-decoration: underline }
:focus{ outline: thin dotted invert }
 
//表格类
table{ display: table }
tr{ display:table-row }
thead{ display:table-header-group }
tbody{ display:table-row-group }
tfoot{ display:table-footer-group }
col{ display:table-column }
colgroup{ display:table-column-group }
td, th{ display: table-cell;}
caption{ display: table-caption }
th{font-weight: bolder; text-align: center }
caption{ text-align: center }
table{ border-spacing: 2px;}
thead, tbody,tfoot { vertical-align:middle }
td, th { vertical-align:inherit }
 
//其它元素
head{ display: none }
body{ margin: 8px;line-height: 1.12 }     
button, textarea,input, object,select  { display:inline-block;}
blockquote{ margin-left: 40px;margin-right: 40px }
pre, tt, code,kbd, samp  { font-family: monospace }
pre{ white-space: pre}
hr{ border: 1px inset }
center{ text-align: center }
abbr, acronym{ font-variant: small-caps; letter-spacing:0.1em }
 
 BDO[DIR="ltr"]  { direction: ltr; unicode-bidi:bidi-override }
 BDO[DIR="rtl"]  { direction: rtl; unicode-bidi:bidi-override }
 /*定义BDO元素当其属性为DIR="ltr/rtl"时的默认文本读写显示顺序*/
 *[DIR="ltr"]{ direction: ltr;unicode-bidi: embed }
 *[DIR="rtl"] { direction: rtl;unicode-bidi: embed }
 /*定义任何元素当其属性为DIR="rtl/rtl"时的默认文本读写显示顺序*/
 @media print {
       h1{page-break-before: always }
       h1, h2, h3,h4, h5, h6    { page-break-after: avoid }
       ul, ol, dl{ page-break-before: avoid }
  } /*定义标题和列表默认的打印样式*/

(二)、浏览默认样式类

  不同的浏览器默认的样式可能不尽相同,所以开发时的第一件事可能就是如何把它们统一。如果没对CSS初始化往往会出现浏览器之间的页面差异。

  1.页边距

    IE默认为10px,通过body的margin属性设置
    FF默认为8px,通过body的padding属性设置

  2.段间距

    IE默认为19px,通过p的margin-top属性设置
    FF默认为1.12em,通过p的margin-bottom属性设

  3.标题样式

    h1~h6默认加粗显示:font-weight:bold;
    默认大小请参上表
    还有是这样的写的

h1 {font-size:xx-large;}
h2 {font-size:x-large;}
h3 {font-size:large;}
h4 {font-size:medium;}
h5 {font-size:small;}
h6 {font-size:x-small;}

  4.列表样式
    IE默认为40px,通过ul、ol的margin属性设置
    FF默认为40px,通过ul、ol的padding属性设置
    dl无缩进,但起内部的说明元素dd默认缩进40px,而名称元素dt没有缩进。

  5.元素居中

    IE默认为text-align:center;

    FF默认为margin-left:auto;margin-right:auto;

  6.超链接<a>样式

    a 样式默认带有下划线,显示颜色为蓝色,被访问过的超链接变紫色

  7.鼠标样式

    IE默认为cursor:hand;

    FF默认为cursor:pointer;该声明在IE中也有效

  8.图片链接样式
    IE默认为紫色2px的边框线
    FF默认为蓝色2px的边框线  

二、css初始化程序

  博主总结了一些初始化的代码,博友们可以参考一下,具体使用时可以适当地删减一些。

@charset "UTF-8";
/*css 初始化 */
html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5, h6, form, fieldset, legend, img {
margin: 0;
padding: 0;
} fieldset, img, input, button {
border: none;
padding: 0;
margin: 0;
outline-style: none;
} ul, ol {
list-style: none;
} input {
padding-top: 0;
padding-bottom: 0;
font-family: "SimSun", "宋体";
} select, input {
vertical-align: middle;
} select, input, textarea {
font-size: 12px;
margin: 0;
}
textarea {
resize: none;
} /*防止拖动*/
img {
border: 0;
vertical-align: middle;
} /* 去掉图片低测默认的3像素空白缝隙*/
table {
border-collapse: collapse;
} body {
font: 12px/150% Arial, Verdana, "\5b8b\4f53";
color: #666;
background: #fff
}
h1, h2, h3, h4, h5, h6 {
text-decoration: none;
font-weight: normal;
font-size: 100%;
} s, i, em {
font-style: normal;
text-decoration: none;
}

CSS样式的五种来源及浏览器默认样式

原创 2016年10月21日 20:53:44
  • 1151

CSS中存在样式层叠问题,而且不仅仅是只有在一个样式文件中存在层叠问题,因为CSS的样式有5种来源,我们程序员一般都接触前面三种。 

第一,浏览器默认样式表

当你不为html设置任何样式时,显示在浏览器上,b标签会显示粗体、p有纵向margin、h1字号比p大一倍……这是为什么呢?

因为浏览器自带一个默认的样式,如果html中没有为标签设置样式,则浏览器会按照自己的样式来显示。但是浏览器默认样式的级别是最低的,一旦有其他地方设置了标签样式,浏览器默认样式就会被冲掉。

注意,不同浏览器的默认样式有些地方是不一样的。例如,我们在写css时,都会首先设置 * {margin:0; padding:0;},这是为何?就是因为有浏览器兼容性问题。干脆,全部弄成0,这样各个浏览器就都统一了。

我们先看下IE浏览器的默认样式 

第二,用户样式表

通过设置浏览器字体大小来改变默认样式,或者看文章时,设置字体大小。

第三,link引用的css文件

<link rel="stylesheet" type="text/css" href="static/css/bootstrap.css">
  • 1

第四,style中编写的样式代码

   <style>
body{
background-color: #fff;
}
</style>
  • 1
  • 2
  • 3
  • 4
  • 5

第五,<a style=’ ’>中编写的样式代码

行内样式,比如

<a style="color:#fff;font-size: 12px;" href="###">三数COM</a>
  • 1

浏览器默认样式

浏览器都拥有一套自己的默认样式。 
浏览器之所以有默认样式表,是为了没有样式表的页面也能凑活着看。 
不同浏览器;以及版本不同的浏览器的默认样式一般都是不同的。

重置样式表

为了保证页面在不同浏览器中显示的尽可能的一致,我们会重置不同浏览器默认的样式,称为重置样式表。

有很多别人整理的不错的重置样式表,例如CSS Reset , strppd.css,normalize.css。我比较喜欢和推荐的是normalize.css。

一些内核浏览器默认样式:

文章参考: 
http://www.cnblogs.com/wangfupeng1988/p/4277959.html 
http://www.jianshu.com/p/f7018b32ca4a

 

浏览器默认标签样式总结及css初始化程序(转)的更多相关文章

  1. 浏览器默认标签样式总结及css初始化程序

    html中的大部分的标签都有一些糟糕的样式,有的是标签天然自带的,有的是浏览器默认设置的,我们在写网页时,这些默认的样式就会时不时的跳出来捣一下乱,搞得我们很是无奈.所以成手在写css样式时,一般都会 ...

  2. Chrome 浏览器默认样式覆盖自己 CSS 样式的解决

    检查 HTML 源代码,DOCTYPE 的声明是否写正确. HTML5 的 DOCTYPE 声明规范: <!DOCTYPE html> 参考链接: css - User agent sty ...

  3. 清除浏览器默认样式的reset.css(转载于reset.css的官方)

    /* http://meyerweb.com/eric/tools/css/reset/ v2.0-modified | 20110126 License: none (public domain) ...

  4. Web前端浏览器默认样式重置(CSS Tools: Reset CSS)

    /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, ...

  5. CSS初始化设置

    在网页开发时,由于浏览器默认加载的css样式使得页面显示的样式出现一些意想不到的意外样式,所以首先要进行css的初始化设置. 此外一些常用的样式,比如浮动等也可以放到初始化中备用.

  6. css知多少(4)——解读浏览器默认样式

    上一节<css知多少(3)——样式来源与层叠规则>介绍了样式的五种来源,咱们再通过一张图回顾一下. 对于上面的三层,咱们大概都比较熟悉了.下面的两层中,用户自定义样式一般也就是改一改字号大 ...

  7. css知多少(4)——解读浏览器默认样式(转)

    css知多少(4)——解读浏览器默认样式   上一节<css知多少(3)——样式来源与层叠规则>介绍了样式的五种来源,咱们再通过一张图回顾一下. 对于上面的三层,咱们大概都比较熟悉了.下面 ...

  8. css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类。自己留存

    今天发下我自己的 css 框架——base.css,作用是重设浏览器默认样式和提供通用原子类. @charset "utf-8"; /*! * @名称:base.css * @功能 ...

  9. css清除浏览器默认样式

    css清除浏览器默认样式(代替 *{}) 将代码放入 css 文件,使用 link 引入. /* v2.0 | 20110126 http://meyerweb.com/eric/tools/css/ ...

随机推荐

  1. 如何做好App的测试工作

    记得刚开始接触app测试时,可谓是一脸懵状,拿到一个功能不知道该测些什么,会因为测试范围确认不足.测试点考虑不全等导致线上问题,吃一堑才会长一智,栽过几次坑后就学会了如何避免.现总结App测试点如下, ...

  2. android不太常用的控件

    AutoCompleteTextView:是一种与EditText类似的视图(实际上他是EditText的子类),只不过它还在用户输入时自动显示完成建议的列表 <AutoCompleteText ...

  3. JVM_总结_00_资源帖

    一.官方资料 Java Platform Standard Edition 8 Documentation The Java™ Tutorials Java 8 API 二.精选资料 发布<Ja ...

  4. python编程实例-dmidecode系统信息搜集

    #!/usr/bin/env python from subprocess import PIPE,Popen def getDmi(): p = Popen(['dmidecode'],stdout ...

  5. 整理下PC和移动获取点击、移动坐标的代码和坑

    一.PC PC是通过鼠标点击和移动,相对比较简单,比如onmousedown.onmouseup.onmousemove.onmouseout鼠标按键按下.按键起来.鼠标在元素上移动.鼠标从元素上离开 ...

  6. Linux 修改PostgreSQL外部访问白名单

    1. 查找配置文件 # find / -name pg_hba.conf # find / -name postgresql.conf 2.修改 2.1 修改pg_hba.conf 查找IPv4 lo ...

  7. C#进阶之路(五):Linq初识

    关于LINQ的文章,网上有很多,所以这篇文章我主要是总结下我自己的学习心得. 首先需要先了解的相关技术 1.隐式类型.匿名类型.对象初始化器 1)隐式类型,使用var关键字创建,C#编译器会根据用于初 ...

  8. 学习动态性能表(19)--v$undostat

    学习动态性能表 第19篇--V$UNDOSTAT  2007.6.14 本视图监控当前实例中undo空间以及事务如何运行.并统计undo空间开销,事务开销以及实例可用的查询长度. V$UNDOSTAT ...

  9. RequireJS 也可以引入 VUE

    RequireJS 也可以引入 VUE 由于 FastAdmin 是使用 RequireJS 导入 JS 模块的. 有人想把 VUE 也引入进去,虽然说也是可以,VUE 还是推荐使用 Webpack ...

  10. Windbg内核调试之一: Vista Boot Config设置

    Windbg进行内核调试,需要一些基本的技巧和设置,在这个系列文章中,我将使用Windbg过程中所遇到的一些问题和经验记录下来,算是对Kernel调试的一个总结,同时也是学习Windows系统内核的另 ...