CSS学习笔记

2019-11-21  本文已影响0人  绿杨烟外晓寒轻_

一个在线的web编辑器
学习内容来自菜鸟教程

一、简介

什么是 CSS?

CSS 指层叠样式表 (Cascading Style Sheets)
样式定义如何显示 HTML 元素
样式通常存储在样式表中
把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
外部样式表可以极大提高工作效率
外部样式表通常存储在 CSS 文件中
多个样式定义可层叠为一个

总之:

样式表定义如何显示 HTML 元素,就像 HTML 中的字体标签和颜色属性所起的作用那样。样式通常保存在外部的 .css 文件中。我们只需要编辑一个简单的 CSS 文档就可以改变所有页面的布局和外观。
先来看一个CSS的例子,这个样式表放在了html中,又叫内部样式表。正常来说CSS应该放在一个后缀css的文件中,链接到HTML文件中(外部样式表)。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
body
{
    background-color:#d0e4fe;
}
h1
{
    color:orange;
    text-align:center;
}
p
{
    font-family:"Times New Roman";
    font-size:20px;
}
</style>
</head>

<body>

<h1>CSS 实例!</h1>
<p>这是一个段落。</p>

</body>
</html>

二、CSS语法

1.CSS 规则

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


CSS规则

2.CSS注释

注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它。
CSS注释以 /* 开始, 以 */ 结束.。

3.id 和 class 选择器

如果你要在HTML元素中设置CSS样式,你需要在元素中设置"id" 和 "class"选择器。

id选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。
HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 "#" 来定义。
以下的样式规则应用于元素属性 id="para1":

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<style>
#para1
{
    text-align:center;
    color:red;
} 
</style>
</head>

<body>
<p id="para1">Hello World!</p>
<p>这个段落不受该样式的影响。</p>
</body>
</html>

注:ID属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用。

class 选择器

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。
class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示:
在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<style>
.center
{
    text-align:center;
}
</style>
</head>

<body>
<h1 class="center">标题居中</h1>
<p class="center">段落居中。</p> 
</body>
</html>

你也可以指定特定的HTML元素使用class。

在以下实例中, 所有的 p 元素使用 class="center" 让该元素的文本居中:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
<style>
p.center
{
    text-align:center;
}
</style>
</head>

<body>
<h1 class="center">这个标题不受影响</h1>
<p class="center">这个段落居中对齐。</p> 
</body>
</html>

4.CSS的使用

如何插入样式表

插入样式表的方法有三种:

外部样式表

当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表。 <link> 标签在(文档的)头部:

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

浏览器会从文件 mystyle.css 中读到样式声明,并根据它来格式文档。

外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何的 html 标签。样式表应该以 .css 扩展名进行保存。

注:不要在属性值与单位之间留有空格

内部样式表

当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 <style> 标签在文档头部定义内部样式表,就像这样:

<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>

内联样式

由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。

要使用内联样式,你需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何 CSS 属性。本例展示如何改变段落的颜色和左外边距:

<p style="color:sienna;margin-left:20px">这是一个段落。</p>

多重样式

如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。

优先级为内联样式>内部样式表>外部样式表>浏览器默认样式。

现有一个HTML文件,同时有这三种样式表,当属性内容冲突时以优先级高的为准,当该属性内容只有一个样式表定义时,则同样继承样式。

<head>
    <!-- 外部样式 style.css -->
    <link rel="stylesheet" type="text/css" href="style.css"/>
    <!-- 设置:h3{color:blue;} -->
    <style type="text/css">
      /* 内部样式 */
      h3{color:green;}
    </style>
</head>
<body>
    <h3>测试!</h3>
</body>

注:如果外部样式放在内部样式的后面,则外部样式将覆盖内部样式。

三、属性介绍

CSS 参考手册


一、CSS初识

1、为什么需要CSS

问题一:

问题二:

为了解决上面的问题:

​ 诞生了CSS语言,专门用来给网页进行样式开发

2、什么是CSS

1)css的概念:

3、使用CSS

  1. CSS的声明
  2. CSS的选择器
  3. CSS的常用样式
  4. CSS的盒子模型
  5. CSS的定位
  6. CSS的布局

二、CSS的声明

css声明学习:

​ 1、在head标签中使用style标签声明:
​ 作用:此声明一般声明当前网页的公共样式或者给某个标签的单独样式
​ 2、在标签上使用style属性进行声明
​ 作用:此声明会将css样式直接作用域当前标签
​ 3、在head标签中使用link标签引入外部声明好的css文件
​ 作用:此声明相当于调用,解决了不同网页间样式重复使用的问题
​ 一次声明,随处使用

问题:

​ 不同的声明给同一个标签操作了同一个样式,会使用谁的?
​ 如果css的声明全部在head标签中,则遵循就近原则,谁离标签近,则显示谁。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>css的声明学习</title>
        <!--声明css代码域-->
        <link rel="stylesheet" type="text/css" href="css/mycss.css"/>
        <style type="text/css">
            hr{
                width: 50%;
                height: 20px;
                color: red;
                background-color: red;
            }
            
        </style>
    </head>
    <body>
        <h3>css的声明学习</h3>
        <hr style="background-color: blue;"/>
        <hr />
        
    </body>
    
</html>

三、CSS的选择器

css的选择器学习:

1.标签选择器:

标签名{样式名1:样式值;...}
    作用:给当前网页内的所有该标签添加样式

2.id选择器:

#标签的id属性值{样式名1:样式值;...}
    作用:给某个指定的标签添加指定的样式

3.类选择器:

.类选择器名{样式名1:样式值;...}
    作用:给不同的标签添加相同的样式

4.全部选择选择器

*{样式名1:样式值;...}
    作用:选择所有的HTML标签,并添加相同的样式 

5.组合选择器:

选择器1,选择器2,...{
            样式名1:样式值;...
                }
    作用:解决不同的选择器之间重复样式的问题

6.子标签选择器:

选择器1 子标签选择器

7.属性选择器:

标签名【属性名=属性值】{样式名1:样式值;...}
    作用:选择某标签指定具备某属性并且属性为某属性值的标签

css的使用过程:

1、声明css代码域

2、使用选择器选择要添加样式的标签

                使用*选择器给整个页面添加基础样式
                再使用类选择器给不同的标签添加基础样式
                再使用标签选择器给某类标签添加基础样式
                再使用id、属性选择器、style属性声明方式给某个标签添加个性化样式

3、书写样式单

1)边框设置

                    border:solid 1px;

2)字体设置

                    font-size:10px;
                    font-family:"黑体"; 设置字体
                    font-weight:bold;设置字体加粗

3)字体颜色设置

                    color:颜色;

4)背景颜色设置

                    background-color:颜色;

5)背景图片设置

                    background-img:url(图片地址);
                    background-repeat:no-repeat;(设置图片不重复)
                    background-size:cover;图片平铺整个页面

6)高和宽设置

7)浮动设置

                    float:left|right;

8)行高设置(lineheight)

                    line-height:10;(行间距)

四、css的样式使用

例1

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>css的样式使用</title>
        <!--声明css的代码域-->
        <style type="text/css">
            /*添加网页背景图*/
            body{
                background-image: url(img/1.JPG);
                background-size: cover;
                background-repeat: no-repeat;
            }
            /*标签选择器*/
            table{
                border:solid 1px;
                /*border-radius:10px ;*/
    
            }
            /*table行高设置*/
            tr{
                height: 40px;
                
            }
            /*设置宽度*/
            td{
                /*宽*/
                width: 100px;    
                /*添加边框和边框大小、颜色*/
                border:solid 1px red;
                /*border-bottom: none;  
                border-left: none;  */
                /*设置边框的边角度*/
                border-radius:10px ;
                /*设置背景颜色*/
                /*background-color:transparent;*/
                background-color:orange;
                /*设置文本位置*/
                text-align: center;
                /*设置文本颜色*/
                color: blueviolet;
                /*文本加粗*/
                font-weight: bold;
                /*字体间距*/
                letter-spacing: 10px;
            }
/*-----------------------------------------*/
            ul{
                height: 50px;
                background-color:gray ;
            }
            li{
                list-style-type:none;
                /*display: inherit;*/
                /*设置左悬浮*/
                float: left;
            }
            li a{
                color: black;
                text-decoration: none;
                font-weight:bold ;
                font-size: 20px;
                margin-left: 20px;
                /*垂直居中*/
                position: relative;
                top: 10px;
            }
        </style>
    </head>
    <body>
        <h3>css的样式使用</h3>
        <hr />
        <table>
            <tr>
                <td>姓名</td>
                <td>性别</td>
                <td>爱好</td>
            </tr>
            <tr>
                <td>张三</td>
                <td>男</td>
                <td>唱歌</td>
            </tr>
            <tr>
                <td>李四</td>
                <td>男</td>
                <td>跳舞</td>
            </tr>
        </table>
        <hr />
        <ul>
            <li><a href="">首页</a></li>
            <li><a href="">百战</a></li>
            <li><a href="">java</a></li>
            <li><a href="">客服</a></li>
        </ul>
    </body>
</html>

照片墙实例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>照片墙</title>
        <style type="text/css">
            /*设置图片样式*/
            img{
                width: 12%;
                border: solid red;
                /*设置内边距*/
                padding: 10px;
                background-color: white;
                /*设置倾斜角度*/
                transform: rotate(-10deg);
                /*设置外边距*/
                margin: 20px ;
            }
            /*使用伪类给标签添加样式*/
            img:hover{
                /*设置旋转角度和缩放比例*/
                transform: rotate(0) scale(1.5);
                /*设置显示优先级别*/
                z-index: 1;
                /*设置显示加载时间*/
                transition: 1.5s;
                
            }
            body{
                text-align: center;
                background-color: gray;
            }
        </style>
    </head>
    <body>
        <br /><br /><br /><br />
        <img src="img/1.JPG" alt="1" />
        <img src="img/2.jpg" alt="2" />
        <img src="img/3.jpg" alt="3" />
        <img src="img/4.jpg" alt="4" /><br />
        <img src="img/5.jpg" alt="5" />
        <img src="img/6.jpg" alt="6" />
        <img src="img/7.jpg" alt="7" />
        <img src="img/8.jpg" alt="8" />
    </body>
</html>

五、css的盒子模型

div标签:

块级标签,主要是用来进行网页布局,会将其中的子元素内容作为一个独立的整体存在
特点:
    默认宽度是页面的宽度,但是可以设置
    默认高度无,但是可以设置(可以顶开)
    如果子元素设置了百分比的高或者宽,占据的是div的百分比,不是页面的。

盒子模型

1.外边距:margin

作用:用来设置元素和元素之间的间隔
居中设置 margin:0px auto; 上下间隔是0px,水平居中
可以根据需求单独设置上下左右的外边距

2.边框:border

作用:用来设置元素的边框大小
可以单独设置上下左右

3.内边距:padding

作用:设置内容和边框之间的距离
注意:内边距不会改变内容区域的大小
也可以单独设置上下左右的内边距

4.内容区域:

作用:改变内容区域的大小
设置宽和高即可改变内容区域的大小

例子

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>盒子模型</title>
        <style type="text/css">
            img{
                width: 49%;
            }
            #showdiv{
                border: solid 100px;
                width: 40%;
                height: 400px;
                margin-bottom: 10px;
                margin:0px auto;
                padding: 20px ;
                
            }
                
            #div01{
                border: dashed 3px orange;
                width: 40%;
                height: 200px;
                margin-left: 100px;
            }
            
        </style>
    </head>
    <body><br />
        <h3>盒子模型</h3>
        <hr /><br />
        <div id="showdiv">
        <img src="img/7.jpg" alt="" />
        <img src="img/7.jpg" alt="" />
        <!--<img src="img/12.jpg" alt="" />-->
        </div>
        <div id="div01">
            
        </div>
    </body>
</html>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>盒子模型简单布局</title>
        <style type="text/css">
            /*设置div的基础样式*/
            div{
                width: 300px;
                height: 300px;
                margin-right: 20px;
                
            }
            /*设置header和footer的样式*/
            #header,#footer{
                width: 650px;
                margin: auto;
                margin-top:20px ;
                
            }
            /*设置子div的样式*/
            #div01{
                border: solid 1px orange;
                float: left;
            }
            #div02{
                border: solid 1px blueviolet;
                float: left;
            }
            #div03{
                border: solid 1px #4791FF;
                float: left;
            }
            #div04{
                border: solid 1px coral;
                float: left;
            }
        </style>
    </head>
    <body>
        <div id="header">
            <div id="div01">
                我是div01
            </div>
            <div id="div02">
                我是div02
            </div>
        </div>
        
        <div id="footer">
            <div id="div03">
                我是div03
            </div>
            <div id="div04">
                我是div04
            </div>
        </div>
    </body>
</html>

六、css盒子模型的定位

position:

1.相对定位:relative

作用:相对元素原有位置移动指定的距离
可以使用top,left,right,bottom来进行设置
注意:
其他元素的位置不改变

2.绝对定位:absolutw

作用:可以使元素参照界面或者父元素进行移动
注意:
如果父级元素要成为参照元素,必须使用相对定位属性
默认情况下是以界面为基准进行移动

3.固定定位:fixed

作用:将元素固定在现在页面的指定位置,不会随着滚动条的移动而改变位置;

以上定位都可以使用top,left,right,bottom来进行设置

z-index:

此属性是用来声明元素在z轴的层级,层级高的显示在前。
注意:需要先使用position:relative

上一篇下一篇

猜你喜欢

热点阅读