CSS语法

CSS的四种引入方式

CSS选择器

CSS属性操作

补充

示例(一些小模板)

 

CSS语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。

1
2
3
4
5
6
7
8
9
'''
        selector {
                  property: value;
                  property: value;
             ...  property: value
         
          }
         
'''

例如:

1
h1 {color:red; font-size:14px;}

前端_CSS

  

CSS的四种引入方式

1、行内式;2、嵌入式;3、链接式;4、导入式

1、行内式

行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。

     行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。

1
<p style="background-color: rebeccapurple">hello yuan</p>

2、嵌入式

嵌入式是将CSS样式集中写在网页的<head></head>标签对的<style></style>标签对中。格式如下:

1
2
3
4
5
6
7
8
9
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        p{
            background-color: #2b99ff;
        }
    </style>
</head>

3、链接式

将一个.css文件引入到HTML文件中

1
<link href="mystyle.css" rel="stylesheet" type="text/css"/>

4、导入式

将一个独立的.css文件引入HTML文件中,导入式使用CSS规则引入外部CSS文件,<style>标记也是写在<head>标记中,使用的语法如下:    

1
2
3
4
5
<style type="text/css">
 
          @import"mystyle.css"; 此处要注意.css文件的路径
 
</style> 

注意:

      导入式会在整个网页装载完后再装载CSS文件,因此这就导致了一个问题,如果网页比较大则会儿出现先显示无样式的页面,闪烁一下之后,再出现网页的样式。这是导入式固有的一个缺陷。使用链接式时与导入式不同的是它会以网页文件主体装载前装载CSS文件,因此显示出来的网页从一开始就是带样式的效果的,它不会象导入式那样先显示无样式的网页,然后再显示有样式的网页,这是链接式的优点。

 

CSS选择器

基本选择器

前端_CSS

 

组合选择器

1
2
3
4
5
6
7
8
9
E,F   多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔      :div,p { color:#f00; }
 
E F   后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用空格分隔 :li a { font-weight:bold;}
 
E > F   子元素选择器,匹配所有E元素的子元素F            :div > p { color:#f00; }
  
+ F   毗邻元素选择器,匹配所有紧随E元素之后的同级元素F  :div + p { color:#f00; } 
 
E ~ F   普通兄弟选择器(以破折号分隔)                 :.div1 ~ p{font-size: 30px; }

注意,关于标签嵌套:

一般,块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。需要注意的是,p标签不能包含块级标签。

属性选择器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
E[att]          匹配所有具有att属性的E元素,不考虑它的值。(注意:E在此处可以省略。
                比如“[cheacked]”。以下同。)   p[title] { color:#f00; }
 
 
E[att=val]      匹配所有att属性等于“val”的E元素   div[class=”error”] { color:#f00; }
 
 
E[att~=val]     匹配所有att属性具有多个空格分隔的值、其中一个值等于“val”的E元素
                td[class~=”name”] { color:#f00; }
 
E[attr^=val]    匹配属性值以指定值开头的每个元素                    
                div[class^="test"]{background:#ffff00;}
 
E[attr$=val]    匹配属性值以指定值结尾的每个元素    div[class$="test"]{background:#ffff00;}
 
E[attr*=val]    匹配属性值中包含指定值的每个元素    div[class*="test"]{background:#ffff00;}

正则

正则表达式在任何语言中都有使用,只是使用的形式不一样而已

css也是一门语言,也有自己的正则表达式

正则表达式中的一些通用规则:

1 ^ 表示字符串开始位置匹配

2 $表示字符串结束为止匹配

3 *表示字符串任意位置匹配

4 i表示字符串匹配不区分大小写

5 g 表示字符串全局匹配

css属性选择器与正则表达式:

1 [attr="val"] 选择attr属性值只为val的元素<div attr="val"/>

2[attr]选择有attr这个属性的元素(区分大小写) <div attr="val"/> <div attr /> <div attr="val5435454"/>

3 [attr~="val"] 选择属性为attr,并且属性值包含val单词的元素(区分大小写) <div attr="text val"/> <div attr="val"/> || 错误的:<div attr="val-ue"/> <div attr="value"/>

4 [attr$="val"]选择属性attr的值结尾为val字符的元素 (区分大小写)<div attr="text val"/>  <div attr="val"/> <div attr="434val"/> || 错误的:<div attr="val323"/> <div attr="val-ue"/>

5[attr^="val"]选择属性attr的值开头为val字符的元素 (区分大小写)<div attr="val"/> <div attr="val-ue"/> <div attr="value"/>|| 错误的:<div attr="text val"/> 

6 [attr*="val"]选择属性attr的值任意位置包含val字符的元素(区分大小写)<div attr="text val"/> <div attr="val"/> <div attr="val-ue"/> <div attr="value"/> 

7 [attr|="val"] 选择属性attr的值开头为val的单词或者为val-单词的元素(区分大小写)div attr="val"/> <div attr="val-ue"/>  || 错误的:<div attr="val  text "/> <div attr="text val"/> <div attr="value"/>

8 [attr*="val" I]或者[attr*="val" i]选择属性attr的值任意位置包含val或者VAL或者 Val 或者vAl或者 vaL字符(不区分大小写)的元素<div attr="text val"/> <div attr="val"/> <div attr="val-ue"/> <div attr="value"/><

   div attr="Val"/> <div attr="VAL"/><div attr="VAl"/> <div attr="vaL"/> 

目前Chrome, FireFox, Safari已支持i正则,但是ie不支持不区分大小写,别的属性选择器ie7+都都支持

 

 

ie7的一些特点:

1 ie7 不认识原生的[checked]属性

在ie7下解析[checked]为[CHECKED]全部大写化,这时候的属性应该是defaultChecked

2 ie7 不认识部分的只用属性选择器:[type='checkbox'] { display:none;} 这样定义是不起作用的,需要改成例如:input[type='checkbox'] { display:none;} 但是id就可以例如#demo{ display:none;}是起作用的 

3 ie7中属性名是严格区分大小写的,在html和css中不区分的
选择器中的正则

相关文章:

  • 2021-04-15
  • 2021-07-07
  • 2021-12-02
  • 2021-12-31
  • 2021-12-24
  • 2021-12-18
  • 2021-11-24
  • 2021-11-16
猜你喜欢
  • 2021-07-04
  • 2022-12-23
  • 2021-07-14
  • 2021-12-15
  • 2022-12-23
  • 2021-06-10
相关资源
相似解决方案