跳至主要內容

CSS

sixkey2022年1月12日大约 12 分钟前端CSS

CSS

2、选择器

2.1、id选择器

<h1 id="title">id选择器</h1>

样式

#title{
            background-color: green;
            color: red;
            align-content: center;
            font: 200;
}

2.2、元素选择器

<h2>你好</h2>
<h2>你好</h2>
<h2>你好</h2>

样式

h2{
    text-align: center;
    color: royalblue;
}

2.3、class(类)选择器

3种用法

①、直接用

<p class="cla">段落1</p>
<p class="cla">段落2</p>
<p class="cla">段落3</p>
.cla{
     background-color: palevioletred;
}

②、当只想变化其中一个元素时

让h3元素的文字居中

<h3 class="cl_center">你好</h3>
<h4 class="cl_center">你好</h4>
<h5 class="cl_center">你好</h5>

可以通过元素.类选择器名

h3.cl_center{
            color: aqua;
            text-align: center;
        }

③、class(类)选择器多个别名

需求:让这三个标签的字体都为16px,但是最后一个p标签的背景颜色为黑色

<span class="cl_size">16px</span>
<p class="cl_size">16px</p>
/*
	给类选择器取多个别名
*/
<p class="cl_size cl_bg">16px,背景黑色</p>
.cl_size{
            font-size: 16px;
}
.cl_bg{
            background-color: black;
}

**2.4、通用选择器 **

*

*{
    background-color: pink;
}

效果

分组选择器

格式

选择器1,选择器2,选择器3{

样式内容

}

h2,.cl_p,#spa {
        color: red;
        background-color: pink;
        text-align: center;
        font-size: 18px;
}
<h2>年后</h2>
<p class="cl_p"></p>
<span id="spa">你好</span>

2.5、CSS属性选择器

2.5.1、属性名选择器
格式:
标签名[目标属性名]{
   样式列表
}
<div>
	<a href="www.mi.com">小米</a>
	<a href="www.taobao.com" target="_blank">淘宝</a>
	<a href="www.jd.com" target="_top">京东</a></a>
</div>
a[target]{
        background-color: pink;
}
2.5.2、属性值选择器

格式:

格式: 标签名[目标属性名 = “属性值”]{ 样式列表 }

<div>
        <a href="www.mi.com">小米</a>
        <a href="www.taobao.com" target="_blank">淘宝</a>
        <a href="www.jd.com" target="_top">京东</a></a>
</div>
a[target = "_blank"]{
        background-color: pink;
}

2.6、层次选择器

2.6.1 后代选择器

选择器:E F

功能描述:选择匹配的F元素,则匹配F元素下的所有E元素(子孙后代)

<body>
    <p>段落1</p>
    <div>
        <p>段落2</p>
        <p>段落3</p>
        <h1><p>
            段落4
        </p></h1>
        <p>段落5</p>
    </div>
    <p>段落6</p>
</body>
/* 
 需求:将body下的div下的所有p元素的子体设置成红色
实现:使用后代选择器(子孙后代)
*/
body div p {
     color: red;
}
2.6.2子选择器

选择器:E>F

功能描述:选择匹配的F元素,且匹配F元素下的所有子元素E(子元素)

<body>
    <p>段落1</p>
    <div>
        <p>段落2</p>
        <p>段落3</p>
        <h1><p>
            段落4
        </p></h1>
        <p>段落5</p>
    </div>
    <p>段落6</p>
</body>
/* 
需求:将div下的一级p元素的子体设置成红色,不包括h1下的p元素
实现:使用子选择器(子元素)
*/
div>p {
  color: red;
}

2.7、伪类选择器

浏览器超链接默认

未点击:蓝色 + 下划线

点击:红色 + 下划线

已点击:紫色 + 下划线

<a href="www.baidu.com">超链接1</a></a>
    <a href="www.mi.com">超链接2</a></a>
    <a href="www.jd.com">超链接3</a></a>
    <a href="www.taobao.com">超链接4</a></a>
<!-- 选中未点击的超链接添加样式 -->
    <style>
        a:link{
            color: yellow;
        }
    </style>
2.7.2、E:active
<a href="www.baidu.com">超链接1</a></a>
    <a href="www.mi.com">超链接2</a></a>
    <a href="www.jd.com">超链接3</a></a>
    <a href="www.taobao.com">超链接4</a></a>
/* 
选择所有被点击的超链接
 */
a:active {
    color: red;
}
2.7.3、E:visited
/* 
            选择所有被点击过的超链接
        */
        a:visited {
            color: green;
        }
<a href="www.baidu.com">超链接1</a></a>
    <a href="www.mi.com">超链接2</a></a>
    <a href="www.jd.com">超链接3</a></a>
    <a href="www.taobao.com">超链接4</a></a>
2.7.4、E:hover
<a href="http://www.baidu.com">超链接1</a></a>
    <a href="http://www.mi.com">超链接2</a></a>
    <a href="http://www.jd.com">超链接3</a></a>
    <a href="http://www.taobao.com">超链接4</a></a>
/* 
            当鼠标悬停时呈现样式
        */
        a:hover {
            background-color: darkblue;
        }
2.7.5、E:focus
/* 
            选择具有焦点的元素
        */
        input:focus {
            color: blue;
        }
<a href="http://www.baidu.com">超链接1</a></a>
    <a href="http://www.mi.com">超链接2</a></a>
    <a href="http://www.jd.com">超链接3</a></a>
    <a href="http://www.taobao.com">超链接4</a></a>
    用户名:<input type="text">

3、颜色设置

3.1、css设置颜色方式:

3.2、颜色名称

①、背景颜色:background-color

②、文本颜色:color

③、边框颜色:border

实战

<h1 style="background-color: blueviolet;">标题</h1>
<p style="color: red;">段落</p>
<h3 style="border: 2px solid green;">边框</h3>

3.3、颜色值

采用颜色值,初始化颜色

  • RGB
  • RGBA
  • HEX(16进制)
  • HSL
  • HSLA
3.3.1、HEX(16进制)

注意:如果是数字:范围0-9;字母:a-f

#aa23df  随便组合,只要满足范围。
<h2 style="color: #aabcdf;">HEX颜色设置</h2>
<h3 style="color: #23ed78">年后</h3>
3.3.2、RGB)

光的三原色

格式:rgb(red,green,blue)

两种表达方式:

①、数值:范围:0-255

②、百分比:范围:0%-100%

实战

<h2 style="color: rgb(123, 180, 254);">RGB测试</h2>
<h2 style="color: rgb(23%, 45%, 80%);">rgb测试</h2>
3.3.3、RGBA

添加一个参数,表示颜色的透明度

格式:rgb(red,green,blue,alpha)

两种表达方式:

①、数值:范围:0-255

②、百分比:范围:0%-100%

③、alpha: 0.0(颜色完全透明) - 1.0(颜色完全不透明)

实战

<h3 style="background-color: rgb(253, 180, 254,0.0);">rgba测试</h3>
<h3 style="background-color: rgb(253, 180, 254,0.2);">rgba测试</h3>
<h3 style="background-color: rgb(253, 180, 254,0.4);">rgba测试</h3>
<h3 style="background-color: rgb(253, 180, 254,0.6);">rgba测试</h3>
<h3 style="background-color: rgb(253, 180, 254,0.8);">rgba测试</h3>
<h3 style="background-color: rgb(253, 180, 254,1.0);">rgba测试</h3>

效果图

3.3.4、HSL

色相:范围:0-360,0表示红色,120表示绿色,240表示蓝色

饱和度:范围:0%-100%:百分比,0%(灰色),100%(全彩、全色)

明亮:范围:0%-100%:百分比,0%(黑色),50%(不黑不暗),100%(全白)

hsl(色相,饱和度,明亮)

实战

<h4 style="background-color: hsl(0,23%,46%);">hsl测试</h4>
    <h4 style="background-color: hsl(60,23%,46%);">hsl测试</h4>
    <h4 style="background-color: hsl(120,23%,46%);">hsl测试</h4>
    <h4 style="background-color: hsl(180,23%,46%);">hsl测试</h4>
    <h4 style="background-color: hsl(240,23%,46%);">hsl测试</h4>
    <h4 style="background-color: hsl(300,23%,46%);">hsl测试</h4>
    <h4 style="background-color: hsl(360,23%,46%);">hsl测试</h4>

效果图

3.3.5、HSLA

色相:范围:0-360,0表示红色,120表示绿色,240表示蓝色

饱和度:范围:0%-100%:百分比,0%(灰色),100%(全彩、全色)

明亮:范围:0%-100%:百分比,0%(黑色),50%(不黑不暗),100%(全白)

alpha: 0.0(颜色完全透明) - 1.0(颜色完全不透明)

hsl(色相,饱和度,明亮,alpha)

实战

<h4 style="background-color: hsla(0,23%,46%,0.1);">hsla测试</h4>
    <h4 style="background-color: hsla(60,23%,46%,0.2);">hsla测试</h4>
    <h4 style="background-color: hsla(120,23%,46%,0.3);">hsla测试</h4>
    <h4 style="background-color: hsla(180,23%,46%,0.4);">hsla测试</h4>
    <h4 style="background-color: hsla(240,23%,46%,0.5);">hsla测试</h4>
    <h4 style="background-color: hsla(300,23%,46%,0.6);">hsla测试</h4>
    <h4 style="background-color: hsla(360,23%,46%,0.7);">hsla测试</h4>
    <h4 style="background-color: hsla(360,23%,46%,0.8);">hsla测试</h4>
    <h4 style="background-color: hsla(360,23%,46%,0.9);">hsla测试</h4>
    <h4 style="background-color: hsla(360,50%,46%,1.0);">hsla测试</h4>

效果图

4、CSS背景

4.1、CSS背景属性

背景的属性主要控制CSS元素的背景样式。

  • background-color
  • background-image
  • background-repeat
  • background-position
  • background-attachement
  • background

4.2、背景属性

4.2.1、background-color

设置颜色的背景颜色使用

4.2.2、background-image

设置元素的背景图片

参数:url(“image的路径”)

如果背景较大,图片会在水平方向和垂直方向进行平铺。

实战

* {
            background-image: url(../img/tp.jpg);
        }
4.2.3、background-repeat

可以设置背景图片是否水平或者垂直方向进行平铺

属性值功能描述
repeat-x图像仅在水平方向重复(平铺)
repeat-y图像仅在垂直方向重复(平铺)
no-repeat指定只显示一次背景图像(图像不平衡)

repeat-x效果图

repeat-y效果图

no-repeat效果图

图片的默认显示方式采用左上角作为平铺的起点进行平铺

4.2.4、background-position

可以用来控制背景图片的显示坐标位置

属性值功能描述
left top、left center、left bottom、right top、right center、right bottom、center top、center center、center bottom如果仅指定一个关键字,其他值将会是“center”
x% y%第一个值是水平值,第二个值是垂直,左上角是0% 0%。右下角是100% 100%。如果仅指定了一个值,其他值将是50%。默认值是:0% 0%
xpos ypos第一个值是水平值,第二个值是垂直,左上角是0。单位可以是像素:(0px 0px)或任何其他CSS单位右下角是100% 100%。如果仅指定了一个值,其他值将是50%。可以混合使用%和positions
inherit指定background-position属性设置应该从父元素继承
4.2.5、background-attachement

设置背景图片是否应该滚动或者固定。

参数:

  • fixed:固定
  • scroll:背景滚动 默认值

实战

.cl_id {
            width: 1000px;
            height: 800px;
            border: 1px solid red;
            background-image: url(../img/dontu.gif);
            background-repeat: no-repeat;
        }
        body {
            background-image: url(../img/tp.jpg);
            background-position: right top;
            background-attachment: scroll;
        }
4.2.6、background

设置背景使用属性,用来简化以上所有的属性声明,可以通过background进行替换以上所有的属性。

格式

background:值1,值2….

background属性中,属性值含义:

  • background-color
  • background-image
  • background-repeat
  • background-attachement
  • background-position

实战

.cl_id {
            width: 1000px;
            height: 800px;
            border: 1px solid red;
            background: url(../img/tp.jpg) no-repeat fixed center center;
        }

5、display属性

5.1、block

是块级元素的默认值,特点:独占一行,可以设置宽高,包括:h1-h6、p、div…

5.2、inline:

行内元素的默认值,特点:共占一行,不能修改宽高,包括:span、b、i、em、strong…

5.3、inline-block:

行内块,特点:既能修改宽高,也能共占一行,包括:img

实战

<div>div1</div>
    <div>div2</div>
    <div>div3</div>
    <span>span1</span>
    <span>span2</span>
    <span>span3</span>
    <img src="../img/dontu.gif" alt="">
    <img src="../img/dontu.gif" alt="">
div {
            width: 100px;
            height: 100px;
            border: 1px solid green;
            display: inline-block;
        }
        span {
            width: 100px;
            height: 100px;
            border: 1px solid green;
            display: block;
        }
        img {
            width: 100px;
            height: 100px;
            border: 1px solid green;
            display: block;
        }

6、盒子模型

6.1、介绍

盒子模型 = 宽高 + 外边距 + 边框 + 内边距

**宽高:**负责控制元素的显示大小

**外边距:**负责元素的位置

**边框:**负责元素的边框宽度和高度

**内边距:**负责控制元素的内容显示位置

6.2、宽高

①、属性

  • width
  • height

②、属性取值

  • 像素
  • 百分比

**③、使用场景:**块级元素、行内元素、用来修改元素的宽度和高度。

6.3、边框

①、语法:border

border:边框粗细 样式 颜色

②、某一个边框进行单独设置

  • border-left:边框粗细 样式 颜色
  • border-right边框粗细 样式 颜色
  • border-top 边框粗细 样式 颜色
  • border-bottom 边框粗细 样式 颜色

6.4、内边距

①、内边距:元素的内容距离元素的边框的距离

②、padding属性:

  • padding:10px:4个方向
  • padding:10px 20px:上下 左右
  • padding:10px 20px 30px 40px:上右下左

③、单边内边距设置:

padding-left/right/top/bottom

实战

#d2 {
            width: 300px;
            height: 150px;
            border: 1px solid pink;
            border-radius: 15px;
            padding-left: 150px;
            padding-top: 75px;
        }

6.5、外边距

①、外边距:元素距离上级元素或者同级元素对应的距离

②、margin属性:

  • margin:10px:4个方向
  • margin:10px 20px:上下 左右
  • margin:10px 20px 30px 40px:上右下左

③、单边内边距设置:

margin-left/right/top/bottom

实战

<div id="d2">d2</div>
    <div id="d3">d3</div>
    <div id="d4">
        <div id="d5">你好</div>
    </div></div>
    <div id="d6">年后</div>
#d2 {
            width: 100px;
            height: 100px;
            border: 1px solid pink;
            margin-top: 0px;
        }
        #d3 {
            width: 100px;
            height: 100px;
            border: 1px solid pink;
            margin-top: 10px;
            margin-bottom: 5px;
            margin-left: 20px;
        }
        #d4 {
            width: 100px;
            height: 100px;
            border: 1px solid blue;
            margin-top: 25px;
            margin-left: 23px;
        }
        #d5 {
            width: 50px;
            height: 50px;
            border: 1px solid green;
            margin-top: 25px;
            margin-left: 25px;
        }
        #d6 {
            width: 200px;
            height: 300px;
            border: 1px solid red;
            margin-left: 150px;
            margin-top: 20px;
        }

效果展示

7、CSS定位

吴幽讲CSS

1、尺寸练习

<div class="box">
        <h1>1、css学习</h1>
        <p>
            层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 [1]
            CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
        </p>
        <span>sikey学习css</span>
</div>
/* *通配符对全部html有效 */

 * {
    padding: 0;
    margin: 0;
}


/* 尺寸练习 */
.box {
    /* 高度和宽度 */
    width: 800px;
    height: 200px;
    /* 边框和圆角 */
    border: 3px double pink;
    border-radius: 15px;
    /* padding: 10px; */   /* padding值如果只设置一个,即上下左右内边距都是一样 */
    padding: 10px 20px;    /* padding值如果设置两个个,即上下为第一个值,左右内边距为第二个值 */
    /* width: 100%; */
    box-sizing: border-box;  /* 解决溢出问题 */
    /* 外边距 */
    /* 如果是一个参数,则上下左右都是一样 */
    margin: 20px;  
    /* margin-bottom: 50px;   底部外边距 */
    /* margin-left: auto;
    margin-right: auto;     此时垂直居中 */
    margin: 60px auto;      /* 最常用垂直居中方式:第一个参数即为上下距离,左右自适应 */
}

效果展示

2、背景处理

<div class="box">
        <h1>1、css学习</h1>
        <p>
            层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 [1]
            CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。
        </p>
        <span>sikey学习css</span>
</div>
.box {
     /* 背景处理 */
    /* 背景颜色和背景图片不能同时使用 */
    background-color: rgb(34, 93, 182);
    /* background-image: url('../image/2.png');  有图颜色就不生效 */
    /* 阴影效果 */
    /* 参数解释:水平偏移量,上下偏移量,晕染范围,颜色 */
    box-shadow: 15px 15px 10px grey;
}

效果展示

3、文本处理