css---HTML/浏览器默认样式
今天写代码碰到一个问题,将ul的list-style-type设置为none后,ul与外面的盒子之间总有一个距离。折腾了很久,最后将ul的padding设置为0后终于解决了这个问题。
其代码如下:
结果最后显式如图:
最后寻找到答案发现是HTML默认样式搞的鬼。既ul在IE、Firefox中都默认padding-left:40px(其他浏览器未测试)。
为了防止以后再出类似问题,故查询了HTML和浏览器默认样式相关内容如下:
一HTML默认样式
- head { display: none }/*默认不显示*/
- body { margin: 8px; line-height: 1.12 }
- 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 }
- li { display: list-item }/*默认以列表显示*/
- ol, ul, dir, menu, dd { margin-left: 40px }
- ol { list-style-type: decimal }
- ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 }
表格部分:
- 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 }/*定义单元格、列标题默认为垂直对齐默认为继承*/
其他:
- blockquote { margin-left: 40px; margin-right: 40px }
- i, cite, em,var, address { font-style: italic }
- pre, tt, code, kbd, samp { font-family: monospace }
- pre { white-space: pre }
- button, textarea, input, object, select { display:inline-block; }
- big { font-size: 1.17em }
- small, sub, sup { font-size: .83em }
- sub { vertical-align: sub }/*定义sub元素默认为下标显示*/
- sup { vertical-align: super }/*定义sub元素默认为上标显示*/
- s, strike, del { text-decoration: line-through }/*定义这些元素默认为删除线显示*/
- hr { border: 1px inset }/*定义分割线默认为1px宽的3D凹边效果*/
- u, ins { text-decoration: underline }
- br:before { content: ""A" }/*定义换行元素的伪对象内容样式*/
- :before, :after { white-space: pre-line }/*定义伪对象空格字符的默认样式*/
- center { text-align: center }
- abbr, acronym { font-variant: small-caps; letter-spacing: 0.1em }
- :link, :visited { text-decoration: underline }
- :focus { outline: thin dotted invert }
- /* Begin bidirectionality settings (do not change) */
- BDO[DIR="ltr"] { direction: ltr; unicode-bidi: bidi-override }/*定义BDO元素当其属性为DIR="ltr"时的默认文本读写显示顺序*/
- BDO[DIR="rtl"] { direction: rtl; unicode-bidi: bidi-override }/*定义BDO元素当其属性为DIR="rtl"时的默认文本读写显示顺序*/
- *[DIR="ltr"] { direction: ltr; unicode-bidi: embed }/*定义任何元素当其属性为DIR="ltr"时的默认文本读写显示顺序*/
- *[DIR="rtl"] { direction: rtl; unicode-bidi: embed }/*定义任何元素当其属性为DIR="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 }
二、浏览器默认样式
页边距:
- IE默认为10px,通过body的margin属性设置
- FF默认为8px,通过body的padding属性设置
段间距:
- IE默认为19px,通过p的margin-top属性设置
- FF默认为1.12em,通过p的margin-bottom属性设
标题样式:
- h1~h6默认加粗显示:font-weight:bold;。
列表样式:
- IE默认为40px,通过ul、ol的margin属性设置
- FF默认为40px,通过ul、ol的padding属性设置
- dl无缩进,但起内部的说明元素dd默认缩进40px,而名称元素dt没有缩进。
元素居中
- IE默认为text-align:center;
- FF默认为margin-left:auto;margin-right:auto;
超链接样式
- a 样式默认带有下划线,显示颜色为蓝色,被访问过的超链接变紫色
鼠标样式
- IE默认为cursor:hand;
- FF默认为cursor:pointer;。该声明在IE中也有效
图片链接样式
- IE默认为紫色2px的边框线
- FF默认为蓝色2px的边框线