【CSS】一篇掌握CSS

不是因为有了希望才去坚持,而是坚持了才有了希望

目录

一.导入方式

1.行内样式

2.内部样式

3.外部样式(常用)

二.选择器

1.基本选择器(常用)

1.1标签选择器

1.2类选择器

1.3id选择器

2.层次选择器

2.1后代选择器

2.2子选择器

2.3相邻兄弟选择器

2.4通用兄弟选择器

3.结构伪类选择器

4.属性选择器

三..美化网页

1.字体样式font

2.文本样式text

3.超链接伪类

4.列表样式

5.背景background

四.盒子模型

1.边距参数顺序

2.边框border

2.1圆角边框

五.浮动

1.display

2.float

3.黑框塌陷问题

[3.1 overflow](#3.1 overflow)

4.display和float对比

六.定位position

1.相对定位relative

2.绝对定位absolute

3.固定定位fixed

4.图层z-index


一.导入方式

1.行内样式

在标签元素中,编写一个style属性,编写样式即可

html 复制代码
<h1 style = "color : red">我是标题</h1>
2.内部样式

在html的style标签内书写

html 复制代码
<style>
    h1{
        color: red;
    }
</style>
3.外部样式(常用)

在html内使用link标签导入外部css文件,在外部书写css代码

html 复制代码
<link rel="stylesheet" href="css/style.css">

二.选择器

1.基本选择器(常用)
1.1标签选择器
html 复制代码
<h1 class = 'class' id = 'id'>我是标题</h1>
css 复制代码
h1{
    color: red;
}
1.2类选择器
css 复制代码
.class{
    color: blue;
}
1.3id选择器
css 复制代码
#id{
    color: black;
}

优先级

id选择器>类选择器>标签选择器(上面的h1标签显示为黑色)

2.层次选择器
2.1后代选择器

body后面的所有p标签

2.2子选择器

body后面的第一代标签

2.3相邻兄弟选择器

下面的一个兄弟+

2.4通用兄弟选择器

下面的所有兄弟~

3.结构伪类选择器
4.属性选择器

格式

css 复制代码
标签[]{}
css 复制代码
a[id]{}
/*a标签中存在id属性的元素*/
a[id = links]{}
/*a标签中id是links的元素*/
a[id *= links]{}
/*a标签中id包含links的元素*/
a[id ^= links]{}
/*a标签中id以links开头的元素*/
a[id $= links]{}
/*a标签中id以links结尾的元素*/

类似于正则表达式

三..美化网页

1.字体样式font
2.文本样式text
css 复制代码
a{
    color: rgba(0,255,255,0.9);
    /*0.9是透明度*/
    text-align: center;
    /*文字左右居中*/
    text-indent: 2em;
    /*首行缩进2格*/
    height: 300px;
    line-height: 300px;
    /*字体高度和整体高度一直,就会上下居中*/
    text-decoration: none;
    /*取消下划线*/
}

图片和文本对齐

html 复制代码
<p>
    <img src="../resources/image/1.jpg" alt="">
    <span>我是奶龙</span>
</p>
css 复制代码
img,span{
    vertical-align: middle;
}

显示效果

3.超链接伪类

鼠标悬停执行

css 复制代码
a:hover{
    color: red;
}
4.列表样式
css 复制代码
ul li{
    list-style: none;
    /*去掉圆点*/
    list-style: circle;
    /*空心圆*/
    list-style: decimal;
    /*有序数字*/
    list-style: square;
    /*正方形*/
}
5.背景background

添加背景默认为全部平铺

css 复制代码
a{
    background: red url("resources/image/1.jpg") 270px 10px no-repeat;
}

颜色,图片地址,图片位置,平铺方式no-repeat就是不平铺,如下图

直接设置背景颜色

css 复制代码
a{
    background: red;
}

四.盒子模型

在网页中,每个元素都是一个盒子模型,网页会有默认的边距大小,所以一般需要初始化边距为0

css 复制代码
h1,ul,li,a,body{
    margin: 0;
    /*外边框设置为0*/
    padding: 0;
    /*内边框设置为0*/
    text-decoration: none;
    /*消除下划线*/
}
1.边距参数顺序

每个盒子是一个矩形,他有四个边,所以设置内外边距的时候会有四个参数

复制代码
margin: 10px 10px 10px 10px;

如果传入四个参数是上左下右(顺时针旋转 )

传入两个参数是上下 左右

传入一个参数就是全部
自动设置边距使元素居中auto

复制代码
margin: 0 auto;
2.边框border

border : 3px solid red; (solid是实线,dashed是虚线)

2.1圆角边框

圆形 = 宽度的一半

五.浮动

在一个网页中,每个元素会出现在不同的位置,我们要对这些元素进行布局,就需要用到浮动

这些元素有默认的布局方式,我们要改变他们来手动布局

1.display

这里我们需要引入一个抽象概念,我们可以叫他黑框
我们在写html代码的时候,会写很多div,把一些元素放到div中,这个div就是一个边界,使用display改变元素属性的时候,不会使他离开这个"黑框div"
display : block;(块元素)

display : inline;(行内元素)

display : inline-block;(既是行内元素也是块元素),是块元素但是可以在一行
行内元素不能设定height和width,必须要变成块元素才可以设定
导航栏就是ul li标签变成行内元素

2.float

浮动就是把这个块元素单独飘起来,会飘出黑框外
float : left; 左浮

float : right; 右浮
浮动会导致元素挤在一起,所以我们需要清除浮动clear both;

既有浮动效果,也要有块元素效果(就让他排下去,不要挤在一起),就要清除浮动

3.黑框塌陷问题

我们知道,浮动会飘出黑框外,我们不想出现这种情况就要解决黑框塌陷问题

推荐使用第四种方法

3.1 overflow

overflow : scroll 规定文本或图片超过了高度,加滚动条(没人会用这个)

overflow : hidden 规定文本或图片超过了高度,会隐藏(知道这个就行)

4.display和float对比

六.定位position

我们对一个网页中的元素进行布局的时候,还需要设置他们具体的位置,所以就要用到定位

1.相对定位relative

相对于自己原来的位置 偏移,仍然在黑框中,没有塌陷,原来的位置会被保留
position : relative
top : -20px; (距离 上面-20px,就是上移 )

left : 20px; (距离 左边20px,就是右移 )

bottom : -10px(距离 下面-10px,就是下移 )

right : 20px(距离 右边20px,就是左移)

2.绝对定位absolute

一般都是相对于父元素定位

给父级元素加上相对定位,就会相对于父级元素定位

不给父元素加相对定位就会相对于浏览器定位,滚动滑轮位置会变(初始浏览器大小)

给父元素加上相对定位relative

自身相对于父元素左移30px

3.固定定位fixed

这里设置第一个div元素相对于浏览器位于初始的右下角,但是滚动滑轮位置会变

设置第二个div元素固定定位在浏览器右下角,滚动滑轮位置不会变

4.图层z-index

我们需要把一些块元素堆叠的时候,就需要使用z-index来决定谁在上谁在下

练习

HTML代码

CSS代码


opacity透明度

相关推荐
布列瑟农的星空2 小时前
Playwright使用体验
前端·单元测试
卤代烃2 小时前
🦾 可为与不可为:CDP 视角下的 Browser 控制边界
前端·人工智能·浏览器
_XU3 小时前
AI工具如何重塑我的开发日常
前端·人工智能·深度学习
C_心欲无痕3 小时前
vue3 - defineExpose暴露给父组件属性和方法
前端·javascript·vue.js·vue3
鹿人戛3 小时前
HarmonyOS应用开发:相机预览花屏问题解决案例
android·前端·harmonyos
萌萌哒草头将军3 小时前
绿联云 NAS 安装 AudioDock 详细教程
前端·docker·容器
GIS之路4 小时前
GIS 数据转换:使用 GDAL 将 GeoJSON 转换为 Shp 数据
前端
朴shu5 小时前
Luckysheet 远程搜索下拉 控件开发 : 揭秘二开全流程
前端
MediaTea6 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python
字节跳动开源6 小时前
Midscene v1.0 发布 - 视觉驱动,UI 自动化体验跃迁
前端·人工智能·客户端