首页 > Web开发 > 详细

css简介

时间:2017-04-14 09:52:02      阅读:172      评论:0      收藏:0      [点我收藏+]

1.CSS的概述

CSS Cascading Style Sheet 层叠样式表

CSS 作用就是给HTML页面标签添加各种样式

 

为什么用CSS?

1HTML的缺陷:

1. 不能够适应多种设备

2. 要求浏览器必须智能化足够庞大

    3. 数据和显示没有分开

4. 功能不够强大

    2CSS 优点:

1.使数据和显示分开

2.降低网络流量

3.使整个网站视觉效果一致

4.使开发效率提高了

 

HTMLCSSJavaScript的关系:

1HTML用于排版,处理逻辑

2CSS用于美化,处理修饰

3JavaScript用于动态,处理动画

 

注意:用开发工具创建的HTMLCSSJavaScrip文件都是HTML文件

 

 

2.CSS和HTML结合的方式

CSS代码理论上位置是任意的,但通常写在style标签里

CSSHTML的结合方式有3种:

方式一:行级样式表:采用html标签的style属性,范围只针对此标签适用

方式二:内嵌样式表:采用<style>标签完成。范围针对此页面

方式三:外部样式表: 采用建立样式表文件。针对多个页面.

引入样式表文件的方式:

1):采用<link>标签

eg:<link rel = "stylesheet" type = "text/css" href = "a.css"></link>

2):采用import,必须写在<style>标签中,并且必须是第一句

eg: @import url(a.css) ;

两种引入方式的区别:

外部样式表中不能写<link>标签,但是可以写import语句

 

 

2.1.方式一:使用html标签的style属性

方式一:行级样式表:采用html标签的style属性,范围只针对此标签适用

 

语法格式:<标签名称 style="key : value ; "> 内容 </标签名称>

属性与值之间用 隔开,不同属性用 隔开,同一属性的多个值之间用 空格 隔开;属性名和冒号之间最好不要有空格;

注意:此标签在<body>

 

缺点:

1、html代码和css代码仍然耦合在一起,样式过多,难以维护

2、冗余代码过多所以测试代码时经常用,实际开发中使用较少

 

演示:

<head>

    <title>htmlcss的结合方式一</title>

</head>

  

<body>

 <!--需求:书写divspan,设置样式为字体为红色,边框为1px 实线 红色的。-->

     <div style="color: red ; border: 1px solid red;">这是div1</div>

     <span style="color: red;border: 1px solid red;">这是span1</span>

</body>

 

 

2.2.方式二:在head标签使用style标签设置

方式二:内嵌样式表:采用<style>标签完成。范围针对此页面适用

 

语法格式:

<style>

标签名称{

keyvalue

keyvalue

</style>

注意:若多个标签名称之间用  隔开;且此标签在<head>内

同一页面内,设置多个标签拥有的共同页面效果

 

优点:数据在body标签内,修饰在head标签内. 层次分明,显示清晰.

缺点:只能在本页面使用,无法提高多页面样式的复用性

 

演示:

<head>

    <title>htmlcss的结合方式二</title>

<!-- head标签中使用style标签设置  -->

 

<!-- 需求:统一设置页面的divspan的数据 字体颜色为黄色,边框:1像素 实线 蓝色;-->

<style type="text/css">

div,span {

color: yellow;

border: 1px solid blue;

}

</style>

 

</head>

  

<body>

    <div>这是div1</div>

    <span>这是span1</span>

</body> 

 

 

2.3.方式三:外部引入方式

方式三:外部样式表: 采用建立样式表文件。针对多个页面适用.

引入样式表文件的方式:

1):采用import,必须写在<style>标签中,并且必须是第一句

eg: @import url("a.css") ;

2):采用<link>标签

eg:<link rel = "stylesheet" type = "text/css" href = "a.css"></link>

 

两种引入方式的区别:外部文件中不能写<link>标签,但是可以写import语句

因为定义效果的代码都在外部文件中,任何页面想使用这种页面效果都可以引入此外部文件

2.3.1.采用@import,必须写在<style>标签中且必须是第一句

语法格式:

<style type="text/css">

@import url("css文件的地址");

</style>

 

演示:

<head>

    <title>htmlcss的结合方式三</title>

<!-- head标签中使用style标签使用@import(外部导入)  -->

 

<!-- 需求:统一设置页面的divspan的数据 字体颜色为黄色,边框:1像素 实线 蓝色; -->

<style type="text/css">

/* 方式1:

@IMPORT url("div.css");

@IMPORT url("span.css");

*/

 

/* 方式2:

@IMPORT url("all.css");  

*/

</style>

</head>

  

<body>

     <div>这是div1</div>

     <span>这是span1</span>

</body>

 

外部文件:

div.css

div{

color: yellow;

border: 1px solid blue;

}

 

span.css

span{

color: yellow;

border: 1px solid blue;

 }

 

all.css

@IMPORT url("div.css");

@IMPORT url("span.css");

 

2.3.2.采用<link>标签

语法格式:

<link rel="stylesheet" type="text/css" href="css文件路径" />

注意:此标签不在<style>标签中

 

<head>

    <title>htmlcss的结合方式三</title>

<!-- head标签中使用link标签  -->

 

<!-- 需求:统一设置页面的divspan的数据 字体颜色为黄色,边框:1像素 实线 蓝色; -->

<link rel="stylesheet" type="text/css" href="all.css">  //此处演示使用的外部文件是all.css

</head>

  

<body>

     <div>这是div1</div>

     <span>这是span1</span>

</body>

 

2.4.三种结合方式的对比

适用范围:

方式一:行级样式表,范围只针对此标签适用.

方式二:内嵌样式表,范围针对此页面适用.

方式三:外部样式表,针对多个页面适用.

所以我们测试一般使用前两种方式,实际开发中使用方式三;

 

书写位置:

方式一书写在<body>内,方式二和方式三书写在<head>内;

 

 

3.css选择器

作用:就是通过css代码选择要添加效果html中的标签

 

选择器主要分为两大类:

1.基本选择器

    1) 标签选择器指的就是选择器的名字代表html页面上的标签

p{

color:red ;

border:1px dashed green;

}

 

2) id选择器:规定用 # 来定义

eg: #one{cursor:hand; }

 

3) class选择器:规定用圆点 . 来定义

优点:灵活

eg: .one{ }

  区别:标签选择器针对的是页面上的一类标签.

  类选择器可以供多种标签使用.

  ID选择器是值供特定的标签(一个). ID是此标签在此页面上的唯一标识。

 

4) 通用选择器:  * 定义,代表页面上的所有标签。

*{

font-size:30px;

margin-left:0px;

margin-top:0px;

 }

 

2.扩展选择器

   5) 组合选择器:采用逗号隔开

eg: p,h1,h2,.one,#two{color:red ; }

   6) 关联选择器(后代选择器): 采用空格隔开

eg: h4 span i{color:red ; }

表示h4标签中的span标签中的i标签的样式

h4spani标签不一定是紧挨着的。

 7) 伪类选择器

 (1) : 静态伪类:规定是用:来定义.只有两个.只能用于超链接.

  :link表示超链接点击之前的颜色

  :visited表示链接点击之后的颜色

eg:  a:link{color:red ;}

     a:visited{color:yellow;}

注意: a:link{}定义的样式针对所有的写了href属性的超链接(不包括锚)

   a{}定义的样式针对所有的超链接(包括锚)

 (2) : 动态伪类 : 针对所有的标签都适用

:hover : 是移动到某个标签上的时候

:focus : 是某个标签获得焦点的时候

:active : 点击某个标签没有放松鼠标时

eg: label:hover{color:#00ff00; }

input:focus{

 

border:1px solid red;

}

a:active{

color:blue;

 

3.1.标签选择器

语法格式:

标签名称{

css代码

 

多个标签需要用  隔开;

注意:使用标签选择器,本页面内此类标签的所有代码会全部操作; 

 

需求1. 取消input标签的默认边框

需求2. 增加input标签的底部边框

需求3. 更改body标签的背景颜色为金色

需求4. 做一个类似于excel表格的效果(正常表格不能输入任何内容,需要input和表格标签结合)

 

<head>

    <style type="text/css">

/* 需求1. 取消input标签的默认边框 */

input {

border : none;

}

/* 需求2. 增加input标签的底部边框 */

input {

/* border-bottom: 1px solid red; */

}

/* 需求3. 更改body标签的背景颜色为金色 */

body {

/* */

}

/* 需求4. 做一个类似于excel表格的效果(正常表格不能输入任何内容,需要input和表格标签结合) */

 

  </style>

</head>

  

  <body>

用户名: <input type="text"/>

<hr/>

<table border="1px" cellpadding="10px" cellspacing="0px" width="25%">

<tr>

<td><input type="text"/></td>

<td><input type="text"/></td>

</tr>

<tr>

<td><input type="text"/></td>

<td><input type="text"/></td>

</tr>

<tr>

<td><input type="text"/></td>

<td><input type="text"/></td>

</tr>

<tr>

<td><input type="text"/></td>

<td><input type="text"/></td>

</tr>

</table>

  </body>

 

 

3.2.id选择器

语法格式:

#id属性值 {

css代码;

 

使用:给需要操作的标签一个id属性;

注意:id值在此页面内必须是唯一的;

 

演示:

<head>

    <title>id选择器</title>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

 

    <style type="text/css">

/*需求:将id="i001"input标签背景变为黄色。 */

#i001,#i021,#i023 {

 

}

    </style>

  </head>

  

  <body>

  <table cellpadding="10px" cellspacing="0px" border="1px" width="90%">

   <tr>

   <td id="i001">1,1</td>

   <td>1,2</td>

   <td>1,3</td>

   </tr>

   <tr>

   <td id="i021">2,1</td>

   <td>2,2</td>

   <td id="i023">2,3</td>

   </tr>

  </table> 

 </body>

 

3.3.class选择器

语法格式:

.Class属性值 {

css代码;

使用:给需要操作的标签一个class属性;

注意:class值可以在多个标签中是相同的,操作的是同一个class属性值的多个标签;

 

 <head>

    <title>model.html</title>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

 

    <style type="text/css">

/*     需求1、表格的奇数行背景为红色,偶数行为蓝色 */

.odd {

 

}

 

.even {

 

}

</style>

 

  </head>

  

  <body>

     <table cellpadding="10px" cellspacing="0px" border="1px" width="90%">

   <tr class="odd">

   <td>1,1</td>

   <td>1,2</td>

   <td>1,3</td>

   </tr>

   <tr class="even">

   <td>2,1</td>

   <td>2,2</td>

   <td>2,3</td>

   </tr>

   <tr class="odd">

   <td>3,1</td>

   <td>3,2</td>

   <td>3,3</td>

   </tr>

   <tr class="even">

   <td>4,1</td>

   <td>4,2</td>

   <td>4,3</td>

   </tr>

   </table> 

  </body>

 

3.4.组合选择器

4) 组合选择器:采用逗号隔开

eg: p,h1,.one,#two{color:red ; }

 

相当于上面三种方式中任意几种方式组合起来,中间需要用逗号隔开;

 

语法格式:

标签名,.class属性值,#id属性值{

css代码

}

 

<html>

  <head>

    <title>组合选择器</title>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

 

    <style type="text/css">

/*  需求1. 选择id=div1divclass=xxspan,所有背景颜色为黄色 */

#div1,.span1,p {

 

}

</style>

 

  </head>

  

  <body>

   <div id="div1">div的数据1</div>

<div>div的数据2</div>

<div>div的数据3</div>

 

<span class="span1">span的数据1</span>

<span>span的数据2</span>

<span class="span1">span的数据3</span>

 

<p>p的数据1</p>

<p>p的数据2</p>

<p>p的数据3</p>

  </body>

</html>

 

3.5.关联选择器

5) 关联选择器(后代选择器): 采用空格隔开

eg: h4 span i{color:red}

表示h4标签中的span标签中的i标签的样式

h4和span和i标签不一定是紧挨着的。

 

相当于操作嵌套标签中的某个内部标签;

 

语法格式:

标签名 后代标签名 {

css代码;

 

<html>

  <head>

    <title>关联选择器</title>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

 

    <style type="text/css">

/*     需求: div内所有的字体颜色变成蓝色。 */

div p {

color : blue;

}

    </style>

  </head>

  

 <body>

    <div>

     AAAA BBB

     <p>p111111111</p>

     CCCC

     <p>p222222222</p>

    </div>

    <p>p33333333</p>

  </body>

</html>

 

 

3.6.伪元素选择器

 6) 伪类选择器

 (1) : 静态伪类:规定是用 : 来定义.只有两个.只能用于超链接.

    :link表示超链接点击之前的颜色

    :visited表示链接点击之后的颜色

eg:  a:link{color:red ;}

     a:visited{color:yellow;}

注意: a:link{}定义的样式针对所有的写了href属性的超链接(不包括锚)

   a{}定义的样式针对所有的超链接(包括锚)

 (2) : 动态伪类 : 针对所有的标签都适用

:hover : 是移动到某个标签上的时候

:focus : 是某个标签获得焦点的时候

:active : 点击某个标签没有放松鼠标时

eg: label:hover{color:#00ff00; }

input:focus{

 

border:1px solid red;

}

a:active{

color:blue;

 

演示超链接案例:

语法格式:

选中的标签:伪元素名称 {

css代码

}

 

伪元素名称

link 某个html标签未被点击之前的状态

visible 鼠标点击之后,松开了

hover 鼠标悬浮式

active 鼠标点击但没有松开

注意:上述4个伪元素是由先后顺序的。L V H A如果顺序乱了可能会出现不一样的效果

 

需求:超链接 未点击背景红色,悬浮时背景为绿色,点击未松开背景为蓝色,鼠标点击之后为黄色

<html>

  <head>

    <title>锚伪类</title>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

 

    <style type="text/css">

/*  超链接 未点击字体红色,悬浮时字体为绿色, 点击未松开字体为蓝色,鼠标点击之后为黄色 */

a:link {color: red}        /* 超链接未被点击的状态样式 */

a:visited {color: yellow}   /* 点击之后的状态样式 */

a:hover {color: green}    /* 鼠标悬浮在超链接上的状态样式 */

a:active {color: blue}     /* 鼠标点击超链接,但未松开 */

    </style>

  </head>

  

  <body>

    <a href="01.html">01页面</a>

    <a href="02.html">02页面</a>

  </body>

</html> 

 

 

 

4.边框(盒子模型)

 

需求1、先创建一个div,他的内部也创建一个div,同时设置边框

需求2、外层div背景色蓝色,内部div背景色为绿色

需求3、设置内部div的外边距10px,内边距为50px

 

<html>

  <head>

    <title>model.html</title>

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

 

    <style type="text/css">

     #myimg {

     padding : 20px;

     }

/* 需求1、先创建一个div,他的内部也创建一个div,同时设置边框 */

/* 需求2、外层div背景色蓝色,内部div背景色为绿色 */

/* 需求3、设置内部div的外边距10px,内边距为50px */

#outer{

border : 1px solid red;

height : 400px;

 

}

 

#inner{

border : 1px solid blue;

height : 200px;

 

margin: 10px;

padding: 20px;

}

    </style>

  </head>

  

  <body>

<!--     <img src="img1.jpg" width="500px" id="myimg" border="1px"/> -->

    <hr/>

    <div id="outer">

     <div id="inner">39期 大牛班</div>

    </div>

  </body>

</html>

 

 

作业: 扩展需求: 3div

注意:相同的属性效果可以用class选择器封装在一起,不同的属性效果可以用id选择器分别封装;

<html>

  <head>

    <title>model.html</title>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

    <style type="text/css">

     .divClass {

     border : 1px solid red;

     width : 900px;

     margin: 10px;

     margin-left: auto;

     margin-right: auto;

     }

    

     #div1{

     height: 100px;

    

     }

    

     #div2{

     height: 400px;

     }

    

     #div3{

     height: 100px;

     }

    </style>

  </head>

  

  <body>

   <div id="div1" class="divClass"></div>

   <div id="div2" class="divClass"></div>

   <div id="div3" class="divClass"></div>

  </body>

</html>

 

css简介

原文:http://www.cnblogs.com/dongfangshenhua/p/6707031.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!