下面主要引用http://www.cnblogs.com/wangfupeng1988/tag/css知多少/
CSS进阶笔记:
一、学习CSS的三个突破点
1.浏览器如何加载和解析CSS——CSS的5个来源;
2.CSS和html如何结合起来——选择器;
3.CSS能控制那些显示方式——盒子模式、浮动、定位、背景、字体等;
下面分开阐述:
1.浏览器如何加载和解析CSS
(1) 浏览器默认样式表
html, address,blockquote,body, dd, div,dl, dt, fieldset, form,frame, frameset,h1, h2, h3, h4,h5, h6, noframes,ol, p, ul, center,dir, hr, menu, pre { display: block }/*以上列表元素默认状态下一块状显示,未显示的将以内联元素显示,该列表针对HTML4版本,部分元素在XHTML1中将废弃*/ li { display: list-item }/*默认以列表显示*/ head { display: none }/*默认不显示*/ 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 }/*默认为表格标题显示,呈现居中状态*/ 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 } 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元素默认为上标显示*/ table { border-spacing: 2px; } thead, tbody, tfoot { vertical-align: middle }/*定义表头、主体表、表脚元素默认为垂直对齐*/ td, th { vertical-align: inherit }/*定义单元格、列标题默认为垂直对齐默认为继承*/ s, strike, del { text-decoration: line-through }/*定义这些元素默认为删除线显示*/ hr { border: 1px inset }/*定义分割线默认为1px宽的3D凹边效果*/ 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 } 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 } }
浏览器默认样式
(2) 用户样式表(不常用)
(3) <link>引用的css文件
(4) <style>中编写的样式代码
(5) <a style=’ ’>中编写的样式代码
2.常见问题:
(1) 不同浏览器默认样式不一致
解决方法:* {margin:0; padding:0;}
(2) 层叠错误
首先得知道层叠规则:
浏览器会把各个零散的整合成一个整体,浏览器会让后者覆盖前者;特殊情况——!imporment(最高执行权,后面层叠不会影响它)
Demo如下:
3.差异比较
(1) div {display:block}(默认)、table{display:table}、td,th{display:table-cell}
a. div宽度和父容器相同,table宽度根据内容而定——即table具有“包裹性”;
b. table-cell 用法举例:
用table-cell,像用table一样做多列布局,做出来的效果和table做出来的效果是一模一样的;
时间: 2024-10-05 05:06:07