CSS入门

CSS的介绍

  • HTML用来搭建网页的结构,而CSS的作用是用来对页面上的HTML标签设置样式或者排版。在HTML里,一共可以使用三种方式来对界面上的标签设置样式。

行内样式

  • 直接在HTML标签里使用style属性来给元素设置属性。
<!-- 直接给标签添加style属性 -->
<div style="font-size:26px;font-weight:bold;color:red">一个div</span>

内部样式

  • <hesd>标签里,添加 <style>子标签,在子标签里通过选择器找到元素,再使用CSS属性给找到的元素添加样式。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        span {
            font-size:26px;
            color:yellowgreen;
        }
    </style>
</head>
<body>
<span>一个span</span>
</body>
</html>

外部样式

  • 将CSS样式写入到一个单独的.css文件,再在标签里,使用 标签,将 .css 文件里写入的样式导入到HTML文档里。
    demo.css
span{
    color:red;
}

demo.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="demo.css">
</head>
<body>
<span>一个span</span>
</body>
</html>
  • 比较:三种CSS的使用各有优缺点,可以根据各自的特点,结合实际情况选择适合的方式
方式优点缺点
行内样式优先级高,如果样式重复,行内样式的优先级默认要高于其他两种形式只能手动的给每一个标签设置样式,不能一次性给多个标签设置样式,重用率很低
内部样式可以通过选择器同时给多个标签设置统一的样式只能在当前 HTML 文档里使用,不能够跨文件使用
外部样式可以通过选择器同时给多个标签设置统一的样,而且可以跨文件使用会产生新的文件,不便于项目管理

CSS基本选择器

通配符选择器

  • 使用 * 表示通配符选择器,用来表示所有的标签。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        *{
            color: aqua;
        }
    </style>
</head>
<body>
<!--
在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签
-->

<div>一个div</div>
<span>一个span</span>


</body>
</html>

请添加图片描述

标签选择器

  • 可以使用标签名来控制页面上的标签。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        div{
            color: aqua;
        }

        span{
            color: red;
        }
    </style>
</head>
<body>
<!--
在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签
-->

<div>一个div</div> <br>
<span>一个span</span> <br>
<p>一个p</p>

</body>
</html>

请添加图片描述

类选择器

  • 使用类选择前,需要先给符合一定规律的标签按照特点进行分类,给这些标签添加class属性,再通过class属性来找到对应的元素。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        .xiyouji{
            color: red;
        }

        .marvel{
            color: blue;
        }

        .kenan{
            color: orange;
        }
    </style>
</head>
<body>
<!--
在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签
-->

<span class="xiyouji">孙悟空</span>
<span class="marvel">蜘蛛侠</span>
<span class="xiyouji">猪八戒</span>
<span class="kenan">柯南</span>
<span class="xiyouji">白骨精</span>
<span class="marvel">钢铁侠</span>
<span class="kenan">毛利小五郎</span>

</body>
</html>

请添加图片描述

id选择器

  • 给指定的元素指定全文档唯一的id,然后通过id找到这个元素,给这个元素设置样式。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        .xiyouji{
            color: red;
        }

        .marvel{
            color: blue;
        }

        .kenan{
            color: orange;
        }

        #sunwukong,#kenan{
            font-size:26px;
        }
    </style>
</head>
<body>
<!--
在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签
-->

<span class="xiyouji" id="sunwukong">孙悟空</span>
<span class="marvel" id="super-man">蜘蛛侠</span>
<span class="xiyouji" id="zhubajie">猪八戒</span>
<span class="kenan" id="kenan">柯南</span>
<span class="xiyouji" id="baigujing">白骨精</span>
<span class="marvel" id="iron-man">钢铁侠</span>
<span class="kenan" id="maolixiawulang">毛利小五郎</span>

</body>
</html>

请添加图片描述

属性选择器

  • 可以根据属性值的不同,给特定的标签设置样式。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        span[title]{
            color: red;
            font-size:26px;
        }

        p[title]{
            color: blue;
        }

        span[title="four"]{
            color: green;
        }
    </style>
</head>
<body>
<!--
在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签
-->

<span class="xiyouji" id="sunwukong" title="one">孙悟空</span>
<p class="marvel" id="super-man" title="two">蜘蛛侠</p>
<span class="xiyouji" id="zhubajie" title="three">猪八戒</span>
<span class="kenan" id="kenan">柯南</span>
<span class="xiyouji" id="baigujing" title="four">白骨精</span>
<span class="marvel" id="iron-man">钢铁侠</span>
<span class="kenan" id="maolixiawulang">毛利小五郎</span>

</body>
</html>

请添加图片描述

  • 基本选择器之间:通配符选择器(*)< 标签选择器(标签名)< 类选择器(.类名)< id选择器(#id名)< 行内样式 < !important
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        *{
            color: red;
        }

        p{
            color: blue;
        }

        .kenan{
            color: orange;
        }

        #maolixiawulang{
            color: green;
        }

    </style>
</head>
<body>
<!--
在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签
-->

<span class="xiyouji" id="sunwukong" title="one">孙悟空</span>
<span class="marvel" id="super-man" title="two">蜘蛛侠</span>
<span class="xiyouji" id="zhubajie" title="three">猪八戒</span>
<span class="kenan" id="kenan">柯南</span>
<span class="xiyouji" id="baigujing" title="four">白骨精</span>
<p class="marvel" id="iron-man">钢铁侠</p>
<p class="kenan" id="maolixiawulang">毛利小五郎</p>

</body>
</html>

请添加图片描述

CSS组合选择器

并集选择器

  • 多个选择器之间使用逗号,进行分隔,表示给这多个选择器对应的元素设置样式。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        .kenan,#sunwukong{
            color: red;
            font-size: 28px;
        }
    </style>
</head>
<body>
<!--
在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签
-->

<span class="xiyouji" id="sunwukong" title="one">孙悟空</span>
<span class="marvel" id="super-man" title="two">蜘蛛侠</span>
<span class="xiyouji" id="zhubajie" title="three">猪八戒</span>
<span class="kenan" id="kenan">柯南</span>
<span class="xiyouji" id="baigujing" title="four">白骨精</span>
<span class="marvel" id="iron-man">钢铁侠</span>
<span class="kenan" id="maolixiawulang">毛利小五郎</span>

</body>
</html>

请添加图片描述

交集选择器

  • 多个选择器写在一起,可以找到同时满足所有条件的标签。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        /* 找到即是span,同时类名又是number的标签 */
        span.kenan{
            color: blue;
            font-size: 28px;
        }
    </style>
</head>
<body>
<!--
在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签
-->

<span class="xiyouji" id="sunwukong" title="one">孙悟空</span>
<span class="marvel" id="super-man" title="two">蜘蛛侠</span>
<span class="xiyouji" id="zhubajie" title="three">猪八戒</span>
<span class="kenan" id="kenan">柯南</span>
<span class="xiyouji" id="baigujing" title="four">白骨精</span>
<p class="marvel" id="iron-man">钢铁侠</p>
<p class="kenan" id="maolixiawulang">毛利小五郎</p>

</body>
</html>

请添加图片描述

后代选择器

  • 选择器之间使用空格进行分隔,表示后代选择器。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        /*后代选择器:选择器1 选择器2 ...
         class为father的标签,里面所有的span都变色*/
        .father span{
            color: blue;
            font-size: 28px;
        }
    </style>
</head>
<body>
<!--在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签-->

<div class="father">
    <div class="son">
        <span class="one">father里son里的span</span>
    </div>
        <span class="two">father里的p</span>
</div>
</body>
</html>

请添加图片描述

子元素选择器

  • 选择器之间使用大于号>连接,表示直接子元素选择器。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        /*后代选择器:选择器1 选择器2 ...
         class为father的标签,里面所有的span都变色*/
        .father span{
            color: blue;
            font-size: 28px;
        }

        /* 子元素选择器:选择器1>选择器2>选择器3...
         class为father的标签,它的直接子标签字体设置为红色*/
        .father > span{
            color: red;
        }
    </style>
</head>
<body>
<!--在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签-->

<div class="father">
    <div class="son">
        <span class="one">father里son里的span</span>
    </div>
        <span class="two">father里的p</span>
</div>
</body>
</html>

请添加图片描述

相邻兄弟选择器

  • 多个选择器之间使用加号+连接,表示下一个相邻的兄弟元素选择器。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        /* 与number类同级并且相邻的下一个span选择器 */
        .number+span{
            color:blue;
        }
    </style>
</head>
<body>
<!--在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签-->

<div class="number">234</div>
<span>一个span</span>
<p>第一个p</p>
<div class="number">456</div>
<p>第二个p</p>
<span>一个span</span>
</body>
</html>

请添加图片描述

伪类选择器

  • 伪类选择器一般用于a标签的不同状态。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        /* 设置a标签默认情况下的样式 */
        a {
            background-color:green;
        }
        /* 设置当鼠标悬停在a标签上时的样式 */
        a:hover{
            background-color:pink;
        }
        /* 设置当用户按下按钮时a标签的样式 */
        a:active{
            background-color:yellow;
        }
        /* 设置当a标签的链接被访问后的样式 */
        a:visited{
            background-color:purple;
        }
    </style>
</head>
<body>
<!--在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签-->
<a href="https://www.baidu.com">百度</a>
</body>
</html>

优先级权重计算

  • 先比较id选择器的个数,如果id选择器个数一样,再比较类选择器个数,如果类选择器的个数一样,再比较标签选择器的个数
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        #father #son #one{  /* id:3  类:0  标签:0 */
            color:purple;
        }
        .father .son p{  /* id:0  类:2  标签:1 */
            color:green;
        }
        .father .son p.one{  /* id:0  类:3  标签:1 */
            color:blue;
        }
        #one{  /* id:1  类:0  标签:0 */
            color:red;
        }
    </style>
</head>
<body>
<!--在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签-->
<div class="father" id="father">
    <div class="son" id="son">
        <p class="one" id="one">一个p</p>
    </div>
</body>
</html>

请添加图片描述

CSS属性

文本相关属性

属性取值描述
colorHTML 颜色值,可以是颜色名,例如red; 也可以是十六进制的颜色,例如#FF0000; 还可以使用rgb来生成颜色,例如rgb(255,0,0)用来设置文本的颜色
text-aligncenter/left/right/justify居中/左对齐/右对齐/分散两端对齐
text-indent数字/百分比表示文字的缩进距离
line-height数字/百分比用来设置行高
text-shadowx-offset y-offset blur color用来给文字设置阴影效果
text-decorationunderline/overline/line-through设置文字的装饰样式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        div{
            color:red;
            text-align:center;
            text-shadow:3px -2px 1px green;
        }
    </style>
</head>
<body>
<!--在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签-->

<div>
    一个div
</div>
</body>
</html>

请添加图片描述

字体相关属性

属性取值描述
font-family系统可用字体用来设置文字的字体
font-size数字/百分比用来设置字体的大小
font-stylenormal/italic/oblique设置字体的样式,normal表示普通样式,italicoblique都表示斜体
font-weight关键字和数字用来设置字体的粗细
font用来设置所有的字体相关属性至少要设置font-sizefont-family属性,而且这两个属性必须要按照顺序放在所有属性的最后面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        div{
            /* font-style font-weigth font-size/line-height font-family */
            font:italic 700 26px/40px "华康方圆体W7";
        }
    </style>
</head>
<body>
<!--在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签-->

<div>
    一个div
</div>
</body>
</html>

请添加图片描述

背景相关属性

属性取值描述
background-color颜色取值用来设置背景颜色
background-imageurl(图片路径)用来设置一张背景图片
background-size宽度 高度用来设置背景图片的大小
background-repeatrepeat-x/repeat-y/repeat/no-repeat设置背景图片是否重复
background-position关键字或者px用来设置背景图片的位置
background-attachmentfixed/scroll设置背景图片是否随着内容滚动
background用来设置所有的背景相关属性
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>标签</title>
    <style>
        /* 使用 .类名 的形式找到对应类的标签,对同一类的标签设置同样的样式 */

        div{
            width: 400px;
            height: 400px;
            /*background-color: blue;
            background-image: url(IMG_0120.JPG);
            background-repeat: no-repeat;
            background-attachment: fixed;
            background-position: 10px 10px;*/
            background: blue url("01.webp") no-repeat fixed 10px 10px/200px 200px;
        }
    </style>
</head>
<body>
<!--在内部样式或外部样式里,如果想要给标签设置样式,第一步需要通过CSS选择器查找这个标签-->
<div></div>
</body>
</html>

其他属性

属性取值描述
border-collapseseparate/collapse只能用于表格元素,用来设置单元格边框是否合并,默认值是separate,不合并
overflowvisible/hidden/scroll/auto用来规定当内容超出父元素的范围以后的表现方式

CSS布局

  • CSS不仅可以给HTML的标签添加样式,同时还可以对HTML里的标签进行布局,修改标签的位置。HTML里常见的布局方式有三种:
    • 盒子模型,通过设置元素的宽高,修改内外边距来布局
    • 浮动,修改float属性对应的值,让元素向左或者向右浮动
    • 定位,修改元素的position属性,将元素直接放在指定的位置上

盒子模型

属性名取值描述
width数字用来设置元素的宽度
height数字用来设置元素的高度
padding数字用来设置内边距
margin数字用来设置外边距
border数字 样式 颜色用来设置边框的线宽,颜色和样式
displayline/block/inline-block/none用来修改元素的显示方式
box-sizingconten-box/border-box用来规定边框和padding是否会撑大盒子

浮动

属性名取值描述
floatleft/right用来设置元素向左和向右浮动

定位

属性取值描述
positionstatic元素框正常生成
positionrelative可以修改leftright属性让元素框偏移某个距离,元素原本所占的空间仍保留
positionabsolute元素框从标准文档流完全删除,并相对于其父元素定位
positionfixed固定定位
left数字设置元素向左的偏移像素
right数字设置元素向右的偏移像素
  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值