CSS的初步学习

1.首先CSS的概念:

CSS即就是Cascading Style Sheet层叠样式表,的缩写;

是表现HTML文件样式的语言: 包括对字体,边距,高度,宽度,背景图片,网页定位等设定。

(目前市场企业主要使用CSS3.0)

2.CSS的优势:

内容和表现分离;网页的表现统一,容易修改;丰富的样式,使得页面的布局更加的灵活;减少网页的代码量,增加网页的浏览速度,节省网络带宽;有利于网页被搜索引擎收录。

3.CSS的基础语法:

选择器 {

       声明1;

       声明2;  /* 声明:属性+值*/

}

Style标签:为于<Head> </Head>之间:

<style>

选择器{

      声明1;

       声明2;  /* 声明:属性+值*/

 }

</style>

示例代码:

 1    <style type="text/css">
 2         /*
 3         中写注释
 4          */
 5         h1{
 6             color: black;
 7             font-size: 20px;
 8             font-family: 华文琥珀;
 9         }
10     </style>
11 
12 </head>
13 <body>
14 <h1>
15     hello world!
16 </h1>

4.三种引入CSS的方式:

行内样式:--->使用style属性导入

内部样式表;--->使用style标签导入

外部样式表;--->链接式(link标签),导入式(@import)

注意:链接式和导入式的区别 以及CSS样式的优先级(就近原则):

<link/> 标签:是属于XHTML,@import是属于CSS2.1;

使用<link>链接的CSS文件先加载到网页中,再进行编译显示;

使用@import导入式的CSS文件,客户端显示HTML结构,再把CSS文件加载到网页当中;

导入式属于CSS2.1特有的。

就近原则:就近以所修饰的内容远近为标准;

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>CSS的引入</title>
 4     <!--2.采用style标签-->
 5     <!--
 6         选择器{
 7            属性:属性值;
 8         }
 9     -->
10     <style>
11         h2{
12             font-family: 隶书;
13             font-size: 15px;
14             color: aqua;
15         }
16     </style>
17 
18 
19     <!--3.外部样式表-->
20     <!--导入式-->
21     <style>
22         @import url(../Resource2/CSS/style_1.css);
23     </style>
24 
25     <!--&lt;!&ndash;链接式,需要link标签&ndash;&gt;-->
26     <!--
27     <link rel="stylesheet" href="../Resource2/CSS/style_1.css">
28     -->
29     
30 
31 </head>
32 <body>
33 <!--1.行内属性(多个属性时,分号隔开)-->
34 <h1 style="font-family: 华文琥珀 ; font-size: 30px;color: darkred;">
35     我爱学习!
36 </h1>
37 
38 <h2>
39     hello!
40 </h2>
41 
42 <div>
43     啦啦啦~
44 </div>
45 
46 </body>

5.CSS的三种基础选择器:

标签选择器:--->HTML的标签作为 标签选择器的内容;

类选择器;--->可在页面内多次使用;

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ID选择器</title>

    <style>
        /*
        ID选择器:定义在标签中,ID属性
        ID属性全局唯一不能同名;
          #id{
            属性:属性值;
            }
        */
        #a{
            color: black;
        }
        #a{
            color: blue;
        }
        #aa{
            color: #e1533c;
        }
        #b{
            color: aqua;
        }
    </style>
</head>
<body>
<p id="a">
    这是一个晴朗的早晨!
    啊啊啊啊。
</p>
<br>
<a href="" id="aa">
    这是一条链接
</a>
<br>
<span ID="b">
    我是一个粉刷匠,啦啦啦啦~
</span>
<br>
<div ID="bb">
    嚯哈哈棒棒棒
</div>
</body>
</html>

ID选择器;--->在一个页面中只能使用一次;

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>三种基础选择器-->类选择器</title>
 4     <style>
 5         /*
 6         类名在标签中用 class属性定义;
 7           类选择器:
 8            .类名{
 9              属性:属性值;
10              }
11         */
12         .a{
13             color: blue;
14             font-family: 华文琥珀;
15             font-size: 30px;
16         }
17     </style>
18 
19 </head>
20 <body>
21 <!--类选择器-->
22 <h1 class="a">
23     又是正能量的一天!
24 </h1>
25 <br>
26 <div class="a">
27     啦啦啦!
28 </div>
29 <br>
30 <span class="a">
31     哈哈哈~
32 </span>
33 <br>
34 <xbf class="a">
35     这个人很吊!
36 </xbf>

三种选择器的优先级: ID选择器 > 类选择器 > 标签选择器

 1 <html lang="en">
 2 <head>
 3     <meta charset="UTF-8">
 4     <title>基础选择器的优先级别</title>
 5     <!--类选择器-->
 6     <style>
 7         .a{
 8             color: blue;
 9         }
10     </style>
11 
12     <!--标签选择器-->
13     <style>
14         p{
15             color: #000;
16         }
17     </style>
18 
19     <!--ID选择器-->
20     <style>
21         #id{
22             color: red;
23         }
24     </style>
25 </head>
26 <body>
27 
28 <p class="a" id="id">
29     说明比的考试课代表。
30     不成熟课代表速度快举报的盛开的考虑不了 。
31 </p>
32 </body>
33 </html>

6.CSS的三种高级选择器

6.1层次选择器:

后代选择器;

子代选择器;

相邻兄弟选择器;

兄弟选择器; 

(注:找兄弟时都是向下找兄弟)

 1 <html lang="en">
 2 <head>
 3     <meta charset="UTF-8">
 4     <title>高级选择器---层次选择器</title>
 5 
 6     <style>
 7         p,ul{
 8             border: 1px solid red;
 9         }
10 
11         /*
12         1.层次选择器--->后代选择器
13         需求:获取body下面的所有p标签
14         body p{  --->中间用空格隔开
15           属性:属性值;
16           }
17         */
18         body p{
19             background: blueviolet;
20         }
21 
22         /*
23         2.层次选择器--->子代选择器
24         需求:仅选择body下的第一层的p标签
25         body>p{ ---->大于号链接
26           属性:属性值;
27          }
28         */
29         body>p{
30             background: chartreuse;
31         }
32 
33         /*
34         3.层次选择器---->相邻兄弟选择器(向下找相邻兄弟)
35         首先定位到一个元素
36         需求:获取指定元素的相邻兄弟元素
37 
38         E+F{  先定位到E,在选择相邻的标签F,用'+'连接
39           属性:属性值;
40         }
41 
42         #a+p{ --->#a定位到ID->a,再将相邻下一个的p标签内容赋属性
43          属性:属性值;
44         }
45         */
46         #a+p{
47             border: 1px solid black;
48         }
49 
50         /*
51         4.层次选择器--->通用兄弟选择器(向下找兄弟)
52         先定位到一个指定元素;
53         对指定元素下的,所有兄弟元素进行属性赋值
54 
55         E~F{  -->E指定的元素,F是指定元素的兄弟元素的形式
56          属性:属性值;
57         }
58 
59         #a~p{
60          属性:属性值;
61         }
62         */
63         .p~ul{
64             background: darkblue;
65         }
66 
67 
68 
69     </style>
70 
71 </head>
72 <body>
73 <p>1</p>
74 
75 <p id="a" >2</p>
76 
77 <p class="p">3</p>
78 
79 <ul>
80     <li>
81         <p>4</p>
82     </li>
83 
84     <li>
85         <p>5</p>
86     </li>
87 
88     <li>
89         <p>6</p>
90     </li>
91 </ul>
92 
93 </body>
94 </html>

6.2结构伪类选择器:

结构伪类选择器:
概念:伪选择器,伪元素 是CSS已经定义好的,我们拿来就可以用
格式:
选择器:伪元素{
属性:属性值;
}
伪元素的几种形式:
1.E:first-child -->寻找E的父类选择器F,再找F下的第一个子元素,若不是E类型,就不会被选择。

2.E:last-child -->作为父类下的孩子标签 E 的最后一个元素
3.F E:nth-child(n)-->(可以不用写父级元素)
找到E的父级元素,再找父级元素的第N个子元素,
判断它是不是E元素,不是就不会被选择
4.(F) E:nth-of-type(n) -->找到E的父级元素,再找父级元素下的第N个E元素。
(注意:两者的差别,下面是只找该类型的第n个E元素)
 1 <head>
 2     <meta charset="UTF-8">
 3     <title>结构伪类选择器</title>
 4 
 5     <style>
 6         /*边框*/
 7         p,li{
 8             border: 1px solid red;
 9         }
10         /*
11         结构伪类选择器:
12         概念:伪选择器,伪元素 是CSS已经定义好的,我们拿来就可以用
13         格式:
14            选择器:伪元素{
15               属性:属性值;
16             }
17         伪元素的几种形式:
18         1.E:first-child -->作为父类下的孩子标签 E 的第一个元素
19         2.E:last-child -->作为父类下的孩子标签 E 的最后一个元素
20         */
21         ul li:first-child{
22             background: #000;
23         }
24         ul li:last-child{
25             background: darkblue;
26         }
27         /*
28         3.F E:nth-child(n)-->(可以不用写父级元素)
29                     找到E的父级元素,再找父级元素的第N个子元素,
30                     判断它是不是E元素,不是就不会被选择
31         */
32         /*body->父级元素; p->要选择的子元素的类型;n->第N个子元素
33         需求:选择body下面的第二个元素
34         */
35         p:nth-child(2){
36             background: black;
37         }
38         p:nth-child(1){
39             background: black;
40         }
41         /*
42         4.需求:选择body下面的第二个P元素:
43         (F) E:nth-of-type(n) -->找到E的父级元素,再找父级元素下的第N个E元素
44         */
45         p:nth-of-type(1){
46             background: black;
47         }
48     </style>
49 
50 </head>
51 <body>
52 <h1>结构伪类选择器</h1>
53 <p>1</p>
54 <p>2</p>
55 <p>3</p>
56 <ul>
57     <li>li1</li>
58     <li>li2</li>
59     <li>li3</li>
60 </ul>
61 </body>
62 </html>

6.3属性选择器:

E[attr]:  选择匹配具有属性attr的E元素;

E[attr=val]:选择匹配具有属性attribute的E元素,并且属性值为val;

E[attr^=val]:选择匹配元素E,E并定义了属性attr,属性值以val开头的;

E[attr$=val]:选择匹配元素E,E并定义了属性attr,属性值以val结尾的;

E[attr*=val]:选择匹配元素E,E并定义了属性attr,属性值中包含了val的;

 1 <html lang="en">
 2 <head>
 3     <meta charset="UTF-8">
 4     <title>高级选择器->属性选择器</title>
 5 
 6     <style>
 7         /*
 8         给基础代码添加样式
 9         */
10         .demo a{
11             /*浮动*/
12             float: left;
13             display: block;
14             height: 50px;
15             width: 50px;
16             border-radius: 10px;
17             background: darkblue;
18             color:white;
19             text-align: center;
20             line-height: 50px;
21             /*取掉下划线*/
22             text-decoration:none  ;
23             margin: 5px;
24         }
25 
26         /*
27         属性选择器:
28         */
29         a[id]{
30             background: red;
31         }
32 
33         a[id=id1]{
34             background: green;
35         }
36 
37         a[href^="https"]{
38             background: blueviolet;
39         }
40 
41         a[class]{
42             background: black;
43         }
44     </style>
45 </head>
46 <body>
47 <p class="demo">
48     <a href="https://www.baidu.com" id="id1" class="class1">1</a>
49     <a href=""id="id2">2</a>
50     <a href="" class="class3">3</a>
51     <a href="">4</a>
52     <a href="">5</a>
53     <a href=""id="id6">6</a>
54     <a href="">7</a>
55     <a href="">8</a>
56     <a href="">9</a>
57 </p>
58 </body>
59 </html>

 7.盒子模型(Box Model):

       所有的HTML元素都可以看作盒子,在CSS中,盒子模型是在设计和布局时使用。CSS盒子模型本质上是一个盒子,封装周围的HTML元素,它包括:边距(margin),边框(Border),填充(Padding)和实际内容(Content)。

CSS box-model

 不同部分的说明如下:

外边距(Margin):清除边框外的区域,外边距是透明的;

边框(Border):围绕在内边距和内容外的边框;

内边距(Padding):清除内容外的区域,内边距是透明的;

实际内容(Content):盒子的内容显示文本和图像。

实例代码:

 1 <html lang="en">
 2 <head>
 3     <meta charset="UTF-8">
 4     <title>盒子模型</title>
 5 
 6     <style>
 7         /*
 8         style中写CSS代码
 9         */
10         /*标签选择器*/
11         div{
12             border: 8px solid red;
13             padding: 10px;
14             margin: 10px;
15             width: 300px;
16             height: 300px;
17         }
18     </style>
19 </head>
20 <body>
21 <p>盒子模型测试:</p>
22 <div>
23     平常设置的width属性只是作用于Content(实际内容,包括文本和图像),
24     其实还包括了,Margin(外边距),和border(边框,透明的),padding(内边距,透明的)。
25     在上面的style中:
26     真实的宽:300+10*2+10*2+8*2;
27     真实的高:300+10*2+10*2+8*2。
28 </div>
29 </body>
30 </html>

8.浮动(Float):

CSS的Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列,往往是用于图像,但它在布局时一样非常有用。

实例代码:

 1 <html lang="en">
 2 <head>
 3     <meta charset="UTF-8">
 4     <title>浮动</title>
 5     <style>
 6         img{
 7             width: 50px;
 8             height: 50px;
 9             float: left;
10         }
11     </style>
12 </head>
13 <body>
14 <p>浮动测试:<b>图片的浮动</b></p>
15 <img src="../Resource2/image/QQ图片.jpg" alt="本人">
16 <div>
17     我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~
18     我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~
19     我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~
20     我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~我最棒啦~
21 </div>
22 </body>
23 </html>
 
原文地址:https://www.cnblogs.com/xbfchder/p/11055777.html