CSS基础

HTML是网页内容的载体,CSS样式是表现(外观控制),JavaScript是行为,用来实现网页特效效果。

CSS层叠样式表(Cascading Style Sheets),用于定义HTML内容在浏览器内的显示样式。

CSS简化HTML相关标签,网页体积小,下载快,实现了内容与表现分离。

第1章CSS基础语法

CSS规则由两部分构成:选择器,声明。如  h1{color:red;font-size:14px;},h1是选择器控制的,声明由属性和值控制,大括号要紧挨在选择器的后面,属性值之间由分号隔开。

CSS引用:使用style标签

写在<head></head>标签内:

      <style type="text/css">

           css样式...

      </style>

有相同值的标签,在设置样式时,可以将选择器写在一起,用逗号隔开,声明同样的内容即可。

CSS注释: /* */

CSS使用方法

行内样式(内联样式)

    直接在开始标签内使用style属性,如:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
    <h1 style="color:green;font-size:40px;">行内样式</h1>
    <p style="color:blueviolet;font-size:40px;">行内样式</p>
</body>
</html>

这种写法如果添加的属性很多时,代码很长很冗余,同时样式和标签没有实现分离,增加了HTML文件的容量,也不便于后期的维护,所以行内样式不建议大量的使用。当页面中个别的元素需要特定的样式时,可以选择使用。

内部样式(嵌入样式)

把CSS样式代码写在style标签内,放在head标签里,如:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
     
        h2,h3{color:blue;}
        div,p{color: red;font-size:20px;}
       
    </style>
</head>
<body>
    <h2>我是标题2,字体是蓝颜色</h2>
    <div>
        我是div标签里面的文字,我的字体大小是20px,字体颜色是红色
    </div>
    <h3>我是标题3,字体颜色是蓝色</h3>
    <p>我是p标签里面的文字,我的字体大小是20px,字体颜色是红色</p>
</body>
</html>

对于一些低版本浏览器不识别style标签,需要使用注释标签把样式表包裹起来,如:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
        <!--
        h2,h3{color:blue;}
        div,p{color: red;font-size:20px;}
        -->
    </style>
</head>
<body>
    <h2>我是标题2,字体是蓝颜色</h2>
    <div>
        我是div标签里面的文字,我的字体大小是20px,字体颜色是红色
    </div>
    <h3>我是标题3,字体颜色是蓝色</h3>
    <p>我是p标签里面的文字,我的字体大小是20px,字体颜色是红色</p>
</body>
</html>

外部样式(外联样式)

外部样式表,把CSS样式代码写在独立的一个文件中,文件中只写选择器和声明即可。扩展名:css文件名.css

引入外部文件,使用<link />标签,且位置在head标签之间。

      <link href="XX.css" rel="stylesheet" type="text/css" />,例子如:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>CSS样式表</title>
    <link rel="stylesheet" href="css.css" type="text/css">
    <!-- css.css内部代码为:
    div{color:red;font-size:30px;} -->
</head>
<body>
	<div>
		div里面的文字,设置成红色
	</div>
</body>
</html>

在开发中经常使用外部样式的方法,好处是:1、HTML和css样式是分离的 2、便于css样式的修改,直接在css文件中修改样式,页面显示的样式就直接改变了。 

导入式

方法为 @import  "外部CSS样式",需要写在style标签内。有两种书写方法如:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>CSS样式表</title>
    <style type="text/css">
        @import "css.css"; /* 注意此处有分号 */  
        /* 或者是写成这样 @import url(css.css); */
    </style>
    <!-- css.css内部代码为:
    div{color:red;font-size:30px;} -->
</head>
<body>
	<div>
		div里面的文字,设置成红色
	</div>
</body>
</html>

使用外部样式的好处:

1、CSS和HTML分离

2、多个文件可以使用同一个样式文件

3、多文件引用同一个CSS文件,CSS只需下载一次

CSS使用方法区别
类别引入方法位置加载
行内样式开始标签内stylehtml文件内同时
内部样式<head>中<style>内html文件内同时
链入外部样式<head>中<link>引用CSS样式文件与html文件分离页面加载时,同时加载CSS样式
导入式@import在样式代码最开始处CSS样式文件与html文件分离在读取玩html文件之后加载

CSS使用方法优先级

行内样式>内部样式>导入式,但是注意,内部样式和外部样式谁更接近内容,谁的优先级就高,即就近原则。

第2章CSS选择器

标签选择器和类选择器

标签选择器:以HTML标签作为选择器:直接写标签名 ,通过标签选择器设置样式,那使用该标签的内容都引用该样式。

类选择器

为HTML标签添加class属性。在开始标签内添加class属性,在style标签内添加.(class的值)来改变样式,如果对不同内容使用了相同的class值,那么显示为相同CSS样式。

<head>
    <meta charset="UTF-8">
    <style type="text/css">
       .red{color: red;}
    </style>
</head>
<body>
    <h1 class="red">内容1</h1>
    <p>内容2</p>
    <p class="red">内容3</p>  
</body>

可对不同类型元素的  同一个名称的类选择器  设置不同的样式规则:

<head>
    <meta charset="UTF-8">
    <style type="text/css">
       p.red{font-size: 30px;}
       h1.red{font-size: 40px;}
    </style>
</head>
<body>
    <h1 class="red">内容1</h1>
    <p>内容2</p>
    <p class="red">内容3</p>  
</body>

同一个元素可以设置多个类,之间用空格隔开:

<head>
    <meta charset="UTF-8">
    <style type="text/css">
       .fsize{font-size: 20px}
    </style>
</head>
<body>
    <h1 class="red">内容1</h1>
    <p class="red fsize">内容2</p>
    <p class="red">内容3</p>  
</body>

ID选择器

为html标签添加ID属性,通过ID选择器来为具有此ID的元素设置CSS规则:

<head>
    <meta charset="UTF-8">
    <style type="text/css">
     #p1{color: pink;}
     #p2{font-size: 60px}
    </style>
</head>
<body>
    <h1 >内容1</h1>
    <p id="p1">内容2</p>
    <p id="p2">内容3</p>  
</body>

注意:id是唯一的,值不能重复,且每个id属性只能对应一个值,不能像class一样对应多个。

群组选择器和全局选择器

群组选择器

集体统一设置样式,可以将任意多个选择器分组在一起,比如元素选择器、类选择器、ID选择器等。

全局选择器

对所有的标签设置样式,在开发时使用全局选择器在最开始将所有元素的边距等样式去掉。

    <head lang="en">
	    <meta charset="UTF-8">
	    <title>选择器的使用</title>
	    <style type="text/css">
	    	*{font-size: 30px}/* 全局选择器 */
            .a,#b,p{color: green;}/* 群组选择器 */
            #c,span{color: blue;}/* 群组选择器 */
	    </style>
	</head>
	<body>
		<h3 class="a">我是标题3里面的文字</h3>
		<div id="b">我是div里面的文字</div>
		<p>我是P里面的文字</p>
	    <a id="c">我是a里面的文字</a>
	    <span>我是span里面的文字</span>
	</body>

css后代选择器

考虑树形结构,父代与子代的概念。使用后代选择器设置,之间用空格隔开。后代选择器的优先级比

    <style type="text/css">
        p a em{.....}/* p标签中a标签中的em */    
        #p1 em{.....}/* id为p1的标签中的em */
        p.red a em{.....}/* class为red的p标签中a标签中的em */
        p .red a em{.....}/* p标签中class为red的标签中的a标签中的em */
    </style>

伪类选择器

伪类选择器定义特殊状态下的样式,无法使用标签、id、class及其他属性实现。

链接伪类:激活状态、以访问状态、未访问状态和鼠标悬停状态。 链接伪类的顺序必须是::link>:visited>:hover>:active,说明:

1、a:hover必须置于a:link 和 a:visited之后才有效

2、a:active必须置于a:hover之后才有效

3、伪类名称对大小写不敏感

伪类说明
:link未访问的连接
:visited已访问的连接
:hover鼠标悬停状态
:active激活的链接(鼠标点击且还未松开时的状态)

伪类 :hover和 :active 不止用于链接,还可用于其他元素

1、:hover用于访问的鼠标经过某个元素时

2、:active用于一个元素被激活时

兼容性问题:IE6及跟更早版本,支持<a>元素的4种状态,不支持其他元素的:hover和 :active

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>

    <style>
        a:link{color: red;}
        a:visited{color: green;}
        a:hover{font-size: 30px;font-weight:bold;}/*加粗*/
        a:active{color: orange;}
    </style>
</head>
<body>

    <a href="http://www.imooc.com">点击一下</a>
</body>
</html>

第三章CSS继承、层叠和优先级

CSS继承和层叠

继承好处:父元素设置样式,子元素可以继承部分属性。

CSS层叠:可以定义多个样式,不冲突时,多个样式可层叠为一个,冲突时,按不同样式规则优先级来应用样式。

chrome浏览器默认字体大小16px,h1默认字体大小font-size:2em。

css选择器优先级

行内样式》内部样式》外部样式,链入外部样式与内部样式表的优先级取决于所处位置的先后,最后定义的优先级最高(就近)。

同一个元素引用标签、id、class定义样式时,优先级: id选择器>class选择器>标签选择器。

同一个元素引用相同类型定义,且样式冲突时,后定义的样式会覆盖先定义的样式(就近)   。

css权值

CSS优先级规则:

同一样式表中(同一个style中,或同一个外部CSS样式文件内):

1、权值相同使用就近原则。2、权值不同,根据权值判断CSS样式,使用权值高的。

选择器权值
标签选择器1
类选择器和伪类10
id选择器100
通配符选择器 *{ }0
行内样式1000

权值规则:统计不同选择器的个数,每类选择器的个数乘以相应权值,把所有的值相加得出选择器的权值。

如:  #main div.warning h2{...}

id选择器有1个(1*100),class选择器有1个(1*10),标签选择器有2个(2*1),权值:100+10+2=112,根据优先级规则选择css样式。

css权值和优先级

! important规则,可调整样式规则的优先级,添加在样式规则之后,中间用空格隔开,如 div{color:red !important;}。在一定条件下,优先级是最高的,比行内样式还要高。

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>CSS优先级</title>
    <style type="text/css">
         ul .li1{color: orange !important;}  /*最终显示为橘色*/
    </style>
</head>
<body>
	<ul>
        <li style="color:green" class="li1">JS基础</li>  
        <li>JS函数</li> 
        <li>JS对象</li>
    </ul>
    <ol>
        <li class="li1">CSS基础</li>  
        <li>CSS语法</li> 
        <li>CSS优先级</li>
    </ol>
</body>
</html>

第四章CSS应用

CSS命名规范

1、采用英文字母、数字以及"-"和"_"命名

2、以小写字母开头,不能以数字和"-"、"_"开头

3、命名形式:单子,连字符,下划线和驼峰

4、使用有意义命名

常用的CSS样式命名:

页面结构
页头header导航nav
页面主体main侧栏sidebar
页尾footer栏目column
内容content/container页面外围控制wrapper
容器container左右中left right center

 

导航
导航nav左导航leftsidebar
主导航mainnav右导航rightsidebar
子导航subnav菜单menu
顶导航topnav子菜单submenu
边导航sidebar标题title
  摘要summary

 

功能
标志logo注册register
广告banner搜索search
登陆login功能区shop
登录条loginbar标题title

id不要滥用,谨慎使用,适当使用class。

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值