css样式

江枫思渺然 提交于 2019-11-27 15:55:08
  1 <!DOCTYPE html>
  2 <!--表示这是一段注释 -->
  3 <html lang="en">
  4 <head>
  5     <meta charset="utf-8">
  6     <title>学习css</title>
  7     <!--style type="text/css"></style>-->  style必须在head标签内
  8 
  9     一.添加方法:
 10         行内添加:标签内设置属性
 11         内嵌添加:引用选择器设置样式
 12         单独文件添加:通过链接外部文件设置样式
 13 
 14         优先级:离元素就近原则  行内>内嵌>单独(链接)>浏览器默认样式
 15     
 16     二.选择器类型:以下7种用法
 17         标签选择器:与标签同名,如:body{},div{},p{}...
 18         class选择器:即类别选择器,通过class属性值引用,以点.名称{}引用,如:.one{},.two{}...
 19         id选择器:具有唯一性,通过id属性值引用,一般只引用一次,以#名称{}引用,如:#one{},#two{}...
 20         嵌套声明:标签内在嵌套标签,格式标签空格标签{},如:p span{}
 21         集体声明:多个标签一起引用,格式标签逗号标签{},如:h1,p{}
 22         全局声明:全部标签一起引用,格式用*{}代表全部,可以清除浏览器默认样式,如:*{}
 23         混合:1.多个class选择器混用,如:<div class="one tow left right">...</div>,
 24               2.id和class选择器混用,如:<div id="nan" class="one  left">...</div>,id选择器不可以多个同时使用
 25 
 26         *{清除浏览器默认样式
 27             padding: 0;
 28             margin: 0;
 29         }      
 30         p{<--选择器+属性名+分号组成
 31             font-size:12px;        字号
 32             color:blue;            文字颜色
 33             font-weight:bold;    加粗
 34             text-align:center;    居中
 35         }
 36     
 37     三.样式
 38         单位:px-像素,1px表示1个像素;em-字符,1em表示1个字符;%-百分比,120%表示原字体大小12px*120%
 39 
 40         颜色:红蓝绿:red,blue,green
 41               RGB值:rgb(x,x,x),每个颜色分量取值0-255,如:红色rgb(255,0,0),灰色rgb(66,66,66),黑色rgb(0,0,0)
 42               RGB百分比值:rgb(x%,x%,x%),每个颜色分量取值0%-100%,红色rgb(100%,0%,0%)
 43               RGB值-透明度:rgba(x,x,x,x),a值:0.0表示完全透明,1.0表示完全不透明,如:红色半透明rgba(255,0,0,0.5)
 44               十六进制数:#rrggbb,如:红色:#ff0000,即#f00,去掉重复位
 45 
 46         文本属性:
 47                 color:文本颜色,取值:red,rgb(0,0,255)
 48                 letter-spacing: 字符间距,取值:2px,-3px
 49                 line-height:行高,取值:14px,1.5em,120%
 50                 text-align:对齐,取值:center,left,right,    justify:每行对齐
 51                 text-decoration: 装饰线,取值:none:无线,overline:上划线,underline:下划线,line-throuhgh:删除线
 52                 text-indent:首行缩进,取值:2em
 53 
 54         字体属性:在一个声明中设置所有的字体属性,如:font:bold 18px '楷体'
 55                 font-family: 字体系列,
 56                 第1个字体类型不存在则显示第2个,以此类推,字体名称有空格用“”:font-family: "HiraginoSans GB","Microsoft YaHei",sans-serif;
 57                 font-size:字号,14px 120%
 58                 font-style:斜体,italic
 59                 font-weight:粗体,bold
 60                 font属性简化使用:font:斜体 粗体 字号/行高 字体,如:font:italic bold 16px/1.5em '宋体'
 61         
 62         背景属性:background,空元素需先定义元素的高度和宽度
 63                 background-color:背景颜色
 64                 background-image:url("logo.jpg"),添加url函数,背景图片
 65                 background-repeat:背景图片的填充方式,通过设定高度和宽度填充图片
 66                 repeat:全部填充,repeat-x:填充一行,repeat-y:填充一列,no-repeat:只显示一次背景图片
 67 
 68         超链接属性:伪类选择器,使用必须按顺序:a:link和a:visited>a:hover>a:active
 69                 a:link;普通的、未被访问的链接
 70                 a:visited;已访问的链接
 71                 a:hover;鼠标指针位于链接的上方悬停
 72                 a:active;链接被点击的时刻(活动的超链接,按下鼠标时)
 73 
 74         列表属性:list:无序列表ul和有序列表ol
 75                 list-style:所有用于列表的属性,设置于一个声明中
 76                 list-style-image:为列表项设置图像;通过函数url("路径+文件")显示:url("image/loge.png");
 77                 list-style-position:标志图片的位置;inside:标号向右缩进;outside:标号向左突出
 78                 list-style-type:标志的类型
 79                 ul类型:none:无标记;disc:默认,标记是实心圆;circle:标记是空心圆;square:标记是实心方块;
 80                 ol类型:decimal:标记是数字
 81                         lower-roman:小写罗马数字,如:i,ii,iii,iv,v...
 82                         upper-roman:大写罗马数字,如:I,II...
 83                         lower-alpha:小写英文字母,如:a,b,c,d...
 84                         upper-alpha:大写英文字母,如:A,B,C,D...
 85                         lower-Greek:小写希腊字母,如:alpha,beta,gamma...
 86                         lower-latin:小写拉丁字母,如:a,b,c,d...
 87                         upper-latin:大写拉丁字母,如:A,B.C.D...
 88 
 89         表格属性:
 90                 border:设置表格边框样式
 91                 width:设置表格宽度
 92                 height:设置表格高度
 93                 border-collapse:collapse;表示上下左右边框叠加或坍缩
 94                 奇偶选择器:显示不同行样式,格式:标签名称:nth-child(odd/even);如:tr:nth-child(odd/even){},
 95                            odd:奇数,even:偶数;也可以用数字表示,如:tr:nth-child(2){}
 96     四.布局和定位
 97         盒子模型:盒子可以是页面上区域,图片,导航,列表,段落...
 98                 1.页面元素的大小;2.边框;3.与其他元素的距离
 99             布局:
100                 container:容器
101                 header:页眉
102                 navbar:导航栏
103                 main:主要内容
104                     menu:菜单
105                     content:内容
106                     sidebar:边栏
107                     footer:页脚
108 
109             组成:1.content内容(文字、图片等);2.内容的高度height、宽度width;3.border;4.padding;5.margin
110             属性:盒子区分上右下左,top,right,bottom,left;如:border-top;padding-bottom;margin-left
111                  border:边框,盒子的边框
112                  padding:内边距,位于边框和内容之间的空白距离                 
113                  margin:外边距,可以设置两个盒子之间的距离        
114 
115             overflow属性:设置内容超出盒子框时,是否显示
116                 hidden:超出部分不可见
117                 scroll:显示滚动条,横向、纵向滚动条
118                 auto:如果有超出部分,显示滚动条,没有则不显示滚动条,由浏览器自动判断是否超出
119 
120             border属性:设置边框样式
121                 border-width: 像素-px,粗-thick,中-medium,细-thin
122                 border-style:dashed:由横线组成的线条; dotted:由点组成的线条; solid:实线; double:双实线;
123                 border-color: 颜色
124                 border简化写法:width style color,如:border:1px solid red;border-top:1px solid red
125 
126             padding、margin属性:
127                 取值:px、%;
128                 组成:按顺序区分上右下左,即顺时针,如:padding:top right bottom left;
129                 写法:padding:1px 1px 1px 1px;缩写padding:1px;都相同
130                      padding:1px 2px 1px 2px;缩写padding:1px 2px;按顺序相同像素即可缩写
131                      padding:1px 2px 3px 2px;缩写padding:1px 2px 3px;
132                      padding:1px 2px 1px 3px;这里不能缩写,缩写之后就同上面了
133 
134                 margin合并:垂直方向合并,水平方向不合并;取决于两个盒子的上下间距,合并之后的间距取值为大的上间距或下间距
135                 margin水平居中:文字、图片水平居中:text-align:center;
136                                div区域水平居中:margin:0 auto; 即上下边距为0,左右边距是浏览器根据外层盒子的一个宽度和div区域的一个宽度,自行判断除以2的取值,
137                                即margin-left和margin-right取值相等
138 
139         定位机制:
140             文档流:
141                 元素特征:从上到下,从左到右排列
142                 元素分类:
143                     block:元素特点:独占一行;元素的height、width、margin、padding都可设置 
144                            常见的block元素:div、p、h1-h6、ol、ul、table、from
145 
146                     inline:元素特点:不单独占用一行;width、height不可设置;
147                             常见的inline元素:span、a
148                             
149                     inline-block:元素特点:不单独占用一行;元素的height、width、margin、padding都可设置
150                                   常见元素:img
151 
152                 元素类型转换:display属性,以上3个元素可以互相转换
153                     a{
154                     display:block;a标签不换行,转换类型后,可以让链接独占一行                    
155                     }
156 
157             浮动定位:
158                 float属性:让盒子脱离文档流位置
159                           left:向左浮动
160                           right:向右浮动
161                           none:不浮动,体现block元素特点,每个盒子独占一行
162 
163                 clear属性:清除浮动即向一个方向清除浮动时,清除浮动的方向上不会有元素,就是另起一行
164                          left:向左清除浮动,即它的左侧不会有元素
165                          right:向右清除浮动,即它的右侧不会有元素
166                          both:清除左右两边的浮动
167                          none:是默认值,只在需要移除已指定的清除时用到
168                     主要用于多个盒子的排列组合
169 
170             层定位:设置一个页面元素叠加或者覆盖到另一个元素上面的效果
171                 position属性:相对于谁定位,根据不同的参照物定位    
172                          static:默认值,没有层定位,元素出现在正常的文档流中;left、right、top、bottom、Z-index无效            
173                          fixed:固定定位,相对于浏览器窗口进行定位;left、right、top、bottom、Z-index有效
174                          relative:相对定位,相对于直接父元素(即上级父元素)进行定位,无论其父元素是什么定位方式;left、right、top、bottom、Z-index无效
176                                    定位为relative的元素脱离正常的文档流中,但其在文档流中的原位置依然存在,static类型的元素不会占据它的位置
177                          absolute:绝对定位,相对于static定位以外的第一个父元素(即relative或absoulute元素,如果每个父元素都不是relative和absoulute元素,则根据body定位)进行定位;                       left、right、top、bottom、Z-index无效
178                                    定位为absolute的元素脱离文档流,但与relative的区别:其在正常的文档流中的原位置不再存在,static类型的元素会占据它的位置
179 
180                 left属性:相对父元素向右偏移
181                 right属性:相对父元素向左偏移
182                 top属性:相对父元素向下偏移 
183                 bottom属性:相对父元素向上偏移
184                 Z-index属性:值大的在上层,取值:-999 - 999
185     
186     <style type="text/css">
187         p{
188             color: blue;
189         }
190         .one{
191             font-size:18px;
192             text-align: center;
193         }
194         #nan{
195             font-size:24px;
196             color:red;
197         }
198         p span{
199             color: red;
200         }
201         h2{
202             text-decoration: overline;
203         }
204         h3{
205             text-decoration: underline;
206         }
207         h4{
208             text-decoration: line-through;
209         }
210         a{
211             text-decoration: none;
212         }
213         #toutiao{
214             height: 100px;
215             width: 1140px;
216             background: url("image/toutiao.png") repeat;
217         }
218         table{
219             width: 500px;
220             height: 200px;
221             border-collapse: collapse;
222         }
223         table,td,th{
224             border: 1px solid #eee;
225         }
226         tr:nth-child(odd){
227             background-color: red;
228         }
229         #box{
230             width: 100px;
231             height: 100px;
232             border: 10px solid;
233             padding: 30px;
234             margin: 20px;
235             overflow: scroll;
236         }
237         #newsimagelist{
238             text-align: center;
239             font-size: 0;/*否则图间有间隙,浏览器默认的样式,为0不用加像素*/
240         }
241         #newsimagelist img{
242             height: 200px;
243             width: 200px;
244             margin-left: 5px;
245             padding: 5px;
246             border: 1px solid #0cf;
247         }
248         #nav{
249             width: 300px;
250             margin: 100px auto;
251         }
252         a{
253             display: inline-block;
254             width: 80px;
255             height: 30px;
256             font-size: 14px;
257             text-align: center;
258             line-height: 30px;
259             text-decoration: none;
260             border-bottom: 1px solid #ccc;
261         }
262         a:hover{
263             color: white;
264             background-color: #ccc;
265             border: 1px solid;
266             border-left-color: orange;
267             border-top-color: orange;
268             border-right-color: orange; 
269         }
270         div{
271             width: 200px;
272             height: 200px;
273             border: 1px solid;
274             float: left;
275             background-color: red;
276         }
277         #fix-box{
278             width: 100px;
279             height: 100px;
280             border: 1px solid red;
281             position: fixed;
282             left:100px;
283             top: 50px;            
284         }
285         #relative-box{
286             width: 100px;
287             height: 100px;
288             border: 2px solid #6ef;
289             position: relative;
290             left: 50px;
291             top: 50px;
292         }
293 
294     </style>
295     <!--css单独外部添加连接方法,通过link链接标签引用外部css文件,定义样式-->
296     <link rel="stylesheet" type="text/css" href="style.css" />
297 </head>
298 <body>    
299     <p style="color: red;">css行内添加方法,标签内定义样式</p>
300     <p>css内嵌添加方法,通过引用选择器,定义样式</p>
301     <h1>css单独外部添加连接方法,通过引用外部css文件,定义样式</h1>
302     <p class="one">通过class引用选择器</p>
303     <p id="nan">通过id引用选择器</p>
304     <p>css<span>嵌套声明</span>使用</p>
305     <h2>上划线</h2>
306     <h3>下划线</h3>
307     <h4>删除线</h4>
308     <a href="#">链接无装饰线</a>
309     <div id="toutiao">填充背景图片    填充背景图片填充背景图片 填充背景图片</div>
310     <table>
311         <tr>
312             <th>表头1</th>
313             <th>表头2</th>
314         </tr>
315         <tr>
316             <td>显示边框</td>
317             <td>叠加边框用border-collapse: collapse</td>
318         </tr>
319         <tr>
320             <td>显示不同行样式用tr:nth-child(odd/even){}</td>
321             <td>内容</td>
322         </tr>
323         <tr>
324             <td>内容</td>
325             <td>内容</td>
326         </tr>
327     </table>
328     <br/>
329     <div id="box">盒子的高度、宽度=width+height+border+padding+margin</div>
330     <div id="newsimagelist">
331         <img src="margin.jpg"/>
332         <img src="margin.jpg"/>
333         <img src="margin.jpg"/>
334     </div>
335     <div id="nav">
336         <a href="#">链接1</a>
337         <a href="#">链接2</a>
338         <a href="#">链接3</a>
339     </div>
340     <div>box1</div>
341     <div>box2</div>
342     <div id="fix-box">
343         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
344         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
345         文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
346     </div>
347     <div>
348         <div id="relative-box">
349             文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本
350         </div>
351         <div>不会占据relative的元素定位的位置</div>
352     </div>
353 </body>
354 </html>

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!