CSS 简介
需要具备的基础知识
在继续学习之前,你需要对下面的知识有基本的了解:
- HTML
- XHTML
CSS 概述
- CSS 指层叠样式表 (Cascading Style Sheets)
- 样式定义如何显示 HTML 元素
- 样式通常存储在样式表中
- 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
- 外部样式表可以极大提高工作效率
- 外部样式表通常存储在 CSS 文件中
- 多个样式定义可层叠为一
style应用的方式:
style样式的应用有三种方式:
1.在标签上面通过style属性设置.
<body> <div style="background-color: red;color: green;"> hello world<br> welcome to china </div> </body>
2.将sytle样式写在<head></head>中,然后使用class引用样式.免代码重用,和代码可以避简洁.
<!DOCTYPE html> <html lang="en"> <head> <style> .logo { background-color: red; font-size: 18px; border: 1px; } .logo a{ <!--a标签拥有logo属性,并引用自己的属性 --> font-size: 56px; } .logo a,p{ <!--a和p标签同时拥有logo属性 --> font-size: 56px; background-color:yellow; } </style> </head> <body> <div class="logo"> <!--让a标签和p标签同时拥有logo属性 --> <div>div标签</div> <a>a标签</a> <p>p标签</p> </div> </body> </html>
3.将sytle样式写入common.css文件中然后倒入使用.这种方法支持多个文件使用同一个css样式文件.代码简洁方便,推荐使用.
#css/common.css文件: .a1{ background: red; } .a2{ background: yellow; } .logo { font-size: 56px; background-color:lightslategrey; } .c { font-size: 20px; background-color: red; } ######################################## #html文件 <head> <link rel="stylesheet" href="css/common.css"/> <!--倒入css样式文件 --> </head> <body> <div class="a2">hello world</div> <!--引用css样式中的a2属性 --> <span class="logo">goodbye</span> </body>
css选择器:
1.标签选择器
div{ background-color:red; } <div > </div>
2.class选择器
.bd{ background-color:red; } <div class='bd'> </div>
3.id选择器
#idselect{ background-color:red; } <div id='idselect' > </div>
上述三种选择器使用最广泛的为class选择器
4.关联选择器
#idselect p{ background-color:red; } <div id='idselect' > <p> </p> </div>
5.组合选择器
#让cc1和cc2应用同一个样式 .c1 #il a .cc1,.cc2{ background-color:red; }
6.属性选择器
<head> .conn input[type='text']{ 100px; height:200px; } </head> <body> <div class="conn"> <input type="text"/> <input type="password"/> </div> </body>
CSS常用属性:
background属性
background-color
background-image
background-repeat
<div style="background-color: red">hello world</div> #设置背景颜色 <div style="background-image:url('image/4.gif'); height: 80px;"></div> #设置背景图片属性,div特别大,图片特别小时图片叠加 <div style="background-image:url('image/4.gif'); height: 80px;background-repeat:no-repeat"></div> #不要重复
background-position(背景位移)
height:31px; #挖洞的高和宽 26px; background-position #移动图片位置
border(边框)属性:
solid 表示实线,边框颜色是红色
dotted表示虚线
<body> <h2>border</h2> <div style="border: 20px solid red;height: 10px"></div> <div style="border: 2px dotted red;height: 10px"></div> </body>
dispaly属性:
隐藏或显示样式或字体
块级标签和内联标签是可以相互转换的
display:none 隐藏不显示
display:block display设置为block时由内联标签变为块级标签
display:inline display设置为inline时由块级标签变为内联标签
<span style="background-color: red">asdf</span> <span style="display: none;">asdf</span>
cursor属性:
鼠标放在不同位置显示不同的图标
<body> <ul> <li>css提供的cursor值</li> <p> <span style="cursor:pointer;">pointer</span> || <span style="cursor:help;">help</span> || <span style="cursor:wait;">wait</span> || <span style="cursor:move;">move</span> || <span style="cursor:crosshair;">crosshair</span> </p> </ul> </body>
float(浮动)
页面的布局,通过设置float属性来布局页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> .w-letf{ 20%; <!--宽度--> background-color: red; <!--背景--> height:500px; <!--高度--> float: left; <!--向左漂移--> } .w-right{ 80%; background-color: green; height: 500px; float: left; } </style> </head> <body> <div> <div class="w-letf"></div> <div class="w-right"></div> </div> </body> </html>
<div style="background-color: red;"> <div style="float: left;">1111</div> <div style="float: left;">2222</div> <div style="clear: both;"></div> #加上词句为强制显示父标签,不然上面两个子div float后父div背景颜色就被冲掉了 </div>
内外边距
padding(内边距):增加自己本身的高度和宽度
<div style="background-color: green;height: 200px "> <div style="background-color: red;height: 50px;padding-top: 20px"></div> </div>
margin(外边距):外面增加高度和宽度
<div style="background-color: green;height: 200px "> <div style="background-color: red;height: 50px;margin-top: 20px"></div> </div>
margin:0 auto; -->想让页面居中,加上此参数即可
position 位置固定:
http://www.cnblogs.com/canuseethat/archive/2010/09/16/1827804.html
fixed - 固定浏览器窗口位置
<body> <a style="position: fixed;left: 30px;top: 30px;">返回顶部</a> <div id="content" style="height: 2000px;background-color: greenyellow"></div> <a style="position: fixed;right: 30px;bottom: 30px;"href="#content">返回顶部</a> </body>
relative
absolute (默认放在浏览器的)右下角
这两个放在一起用
<body> <div style="position: relative;background-color: beige; 300px;margin: 0 auto;height: 300px"> <h1>修改数据</h1> <a style="position: absolute;right: 0;bottom: 0px;">hello</a> </div> </body>
overflow
auto --当内容超出div大小时,设置为overflow:auto会出现滚动条.
hidden --隐藏,当内容超过div大小时,多出的内容将被隐藏
<div style="height: 100px;background-color: greenyellow;overflow: auto"> hello world<br> hello world<br> hello world<br> hello world<br> hello world<br> hello world<br> hello world<br> hello world<br> </div>
<div style="height: 100px;background-color: greenyellow;overflow: hidden"> hello world<br> hello world<br> hello world<br> hello world<br> hello world<br> hello world<br> hello world<br> hello world<br> </div>
不让页面有边距方法;
想让整个页面无边框,给body加上样式即可
<head> <meta charset="UTF-8"> <title></title> <style> body{ margin: 0 auto; } </style> </head> <body> <div style="height: 100px;background-color: greenyellow;overflow: hidden"> hello world<br> hello world<br> hello world<br> hello world<br> </div> </body>
透明度 opacity
z-index
z-index 值越大越靠近显示,值越小越靠近底层
<body> hello html/css/js <div style="height: 2000px;"></div> <input type="button" value="提交数据"/> <div style="z-index: 1;opacity: 0.5;position: fixed;left: 0;right: 0;top: 0;bottom: 0;background-color: black"></div> <div style="z-index: 2;position: fixed;left: 50%;top: 50%;margin-left: -150px;margin-top: -50px"> <div style="background-color: white; 300px;height: 100px;"> <input/> <input/> <input/> </div> </div> </body>
页面布局代码样例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> body{ margin: 0 auto; } .pg-header{ background-color: darkslateblue; height: 48px; } .pg-body .menu{ background-color: cornflowerblue; position: absolute; top: 50px; left: 0; bottom: 0; 200px; overflow: auto; } .pg-body .content{ background-color: chartreuse; position: absolute; right: 0; top: 50px; bottom: 0; left: 210px; overflow: auto; } </style> </head> <body> <div class="pg-header">页面布局</div> <div class="pg-body"> <div class="menu"> <a>123</a> <a>123</a> <a>123</a> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> <p>123</p> </div> <div class="content"> abcd <div style="height: 1000px;"> <h1 style="color: #FF6600">fdafdaf</h1> </div> </div> </div> </body> </html>