CSS(层叠样式表)引用方式、选择器、伪类伪元素、权重计算、字体、背景

一、CSS介绍

层叠样式表,美化网页,做到结构(html)和表现(css)分离。

基本语法

选择器{

        属性:属性值;

}

二、CSS四种引用方式

1、行间样式(嵌入式样式)

    <!-- 1、行间样式 --><div style="color:red;width:100px;">行间样式</div><div>行间样式</div>

2、内部样式表

<head><meta charset="UTF-8"><title>css引用方式</title><!-- 2、 内部样式表--><style type="text/css">p{background-color: red;}</style></head>
<body><p>内部样式表</p>
</body>

3、引入外部样式文件

新建一个style.css文件,用link标签引入此文件。

    <!-- 3、导入外部样式 --><!-- link:css + tab --><link rel="stylesheet" href="style.css">

4、导入外部样式

新建一个test.css文件,再用import导入此文件。

@import"css/test.css"

区别:

行间样式只作用于当前标签

内部样式作用于当前文件

外部样式被多个html文件引用

外部样式分为link和import两种,区别:

  1. link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;而@import只能加载CSS。
  2. link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
  3. link无兼容问题;@import低版本浏览器不支持。
  4. link支持使用javascript控制DOM去改变样式;@import不支持。

三、CSS选择器

1、*:

通配符,匹配html所有元素。

性能差,不建议使用。

2、标签选择器

匹配对应的标签。

3、类选择器

选择class命名的标签

class="类名"

.类名{

}

4、id选择器

选择用id命名的标签

id=”id名“

#id名{

}

5、派生选择器

根据上下文确定选择的标签

6、伪类选择器

伪类:专门用来表示元素的一种特殊状态。

常用伪类选择器:

1、a标签的伪类:

:link     未访问(可省略)

:visited    已访问

:hover      鼠标悬停

:active        用户激活

2、表单

:focus     获得焦点

3、:first-chlid 

:last-chlid

:nth-chlid(number)

7、属性选择器

[属性名]:包含有指定属性名的元素。(常用)

[属性名=值]:属性名的值为指定值的元素。(常用)

8、关系选择器

  • 后代选择器:空格
  • >  只选择儿子
  • +  兄弟选择器

9、CSS伪元素

CSS伪类与伪元素区别:

css引入伪类和伪元素是为了格式化文档树以外的信息。用来修饰不在文档树中的部分。

伪类:当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。它只有处于dom树无法描述的状态下才能为元素添加样式,所以称为伪类。

伪元素:创建一些不在文档树中的元素,并为其添加样式。

 

伪类与伪元素特点:

  1. 伪元素和伪类都不会出现在源文档或者文档树中。
  2. 伪类允许出现在选择器的任何位置,而一个伪元素只能跟在选择器的最后一个简单选择器后面。
  3. 伪元素名和伪类名都是大小写不敏感。
  4. 有些伪类是互斥的,而其他的可以同时用在一个元素上。

 

:before   :after   :first-letter   :first-line   前面可以是一个冒号也可以是双冒号

::selection    ::placeholder    ::backdrop  前面只能是双冒号

 

选择器的分组:

让多个元素具有相同的样式,设置公共样式。

选择器的样式继承:

子元素可以继承父元素的样式。

 

四、优先级与权重的计算

 

内联样式>内部样式>外部样式

权重的计算:

  1. !important:加在样式属性值后面,权重值为10000;
  2. 内联样式:style=" ",权重值为1000;
  3. ID选择器:#id名,权重为100;
  4. 类、伪类:.类名或者:hover权重值为10;
  5. 标签选择器:权重值为1。

五、CSS字体

1、font-size:字号

属性值:像素px或者%

2、font-family:字体

 

3 font-style:文字样式

  • normal:正常字体
  • italic:斜体
  • oblique:倾斜的字体

4 font-weight:文字加粗

  • normal:正常字体
  • bold:粗体
  • bolder:比bold粗
  • lighter:比normal细
  • 100-900:定义由粗到细的字符。400等于normal;700等于bold。一般是整数、100的倍数。

5 line-height:行高

文字底端到上一行文字底端。

px/数字/em等

6 color:文字颜色

  • 颜色单词
  • rgb(   red,green,blue) :0-255
  • 16进制 (以#开头)

7 text-decoration:文字修饰

  • none:无修饰
  • underline:下划线
  • overline:贯穿线
  • line-through:上划线

8 text-align:文本对齐方式

  • left
  • right
  • center

9 text-transform:字母大小写

  • caplitalize:将每个单词的首字母转换成大写。
  • uppercase:转换成大写
  • lowercase:转换成小写
  • none:默认值

10 text-indent:文本缩进

px/%/pt/em等

font复合属性:

font:font-style    font-variant    font-weight   font-size/line-height    font-family

注:

  1. 属性值位置顺序
  2. 除font-size和font-family外,其余属性值可省略。
  3. font-variant:normal/small-caps(让大写字母变小一些)

六、CSS背景

1  background-color:背景颜色

  • transparent:默认值,透明背景色
  • color:颜色

2  background-image:背景图

  • none:默认值,无背景图
  • url:使用绝对或相对url地址指定背景图像

3  background-repeat:背景图像铺排方式

  • repeat:默认值,背景图像在纵向和横向平铺
  • no-repeat:背景图像不平铺
  • repeat-x:背景图像横向平铺
  • repeat-y:背景图像纵向平铺

4  background-position:设置对象的背景图像位置

5  background-attachment:背景图像滚动位置

  • scroll:默认值,背景图像会随着页面其余部分的滚动而滚动。
  • fixed:当页面其余部分滚动时,背景图像不会移动。

6  background:设置背景复合写法

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注