2.web前端开发(二)0226 css基础

本文详细介绍了CSS的基础知识,包括如何通过外链样式、内嵌样式和行内样式将CSS与HTML关联起来。重点讲解了CSS的选择器,如id、类和标签选择器,以及关系、全局、伪类和群组选择器。内容涵盖了对元素的文字、背景、边框和内边距等属性的修饰,以及盒模型的设置和布局技巧。还涉及了浮动、定位以及转换行内元素为块元素等实践操作。
摘要由CSDN通过智能技术生成

一、css概述

1.层叠样式表
2.对html写的那些标签 变得美观
3.css标签大全
http://www.mamicode.com/info-detail-2186911.html

二、如何让html和css联系起来呢

css给html加样式的格式是:
标签名{属性key:属性value;属性key:属性value;}
在这里插入图片描述

将html和css连接起来的方式有外链样式、内嵌样式、行内式 下面依次介绍

(一)外链样式

建一个css文件,把要改变的样式写在css文件里,然后在html文件里面引用该css文件

步骤1:新建一个css文件
在这里插入图片描述
步骤2:在html文件中引用该css文件
在这里插入图片描述
步骤3:运行 出效果
在这里插入图片描述

代码:
1.css部分

h1{color:rgb(255, 0, 140);}

2.html部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>练习css</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css">

</head>

<body>
    <h1>我的妈妈</h1>
    <h1>我的爸爸</h1>
    <h1>我的奶奶</h1>
    <h1>我的弟弟</h1>
    <p><b>我的妈妈是一个可爱善良的人1</b></p>
    <p><b>我的妈妈是一个可爱善良的人2</b></p>
    <p><b>我的妈妈是一个可爱善良的人3</b></p>
    <p><b>我的妈妈是一个可爱善良的人4</b></p>
</body>
</html>

(二)内嵌样式

在html文件的head里面 新增style标签 在style标签中加入css格式的样式

<style>
        h1{color: darkkhaki;}
        p{color: darkmagenta;}
    </style>

在这里插入图片描述

(三)行内样式

之间在标签旁边加入对标签的css格式,style=“属性key:属性value”

style="color: darksalmon;"

在这里插入图片描述

三、css如何去选择html里的元素呢

css能够找 到对html里的那个元素进行变化样式,有几大常用的方式
通过元素的id、类名、标签名、关系、全局、伪类选择器、群组选择

(一)id选择器 通过html标签的id,css可以找到自己需要去修改样式的标签

id是通过#去找元素的
id可以唯一定位一个元素
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>选择器</title>
    <style>
        #zhangsan{color: rgb(105, 153, 51);}
        #我的爸爸{color: rgb(67, 248, 61);}
        #的{color: royalblue;}
    </style>

</head>
<body>
    <h1 id="zhangsan">我的妈妈</h1>
    <h1 id="我的爸爸">我的爸爸</h1>
    <h1 >我的奶奶</h1>
    <h1 >我的弟弟</h1>
    <p id="一个可"><b>我的妈妈是一个可爱善良的人1</b></p>
    <p><b>我的妈妈是一个可爱善良的人2</b></p>
    <p id=""><b>我的妈妈是一个可爱善良的人3</b></p>
    <p><b>我的妈妈是一个可爱善良的人4</b></p>
    
</body>
</html>

(二)类选择器 通过html标签的class,css可以找到自己需要去修改样式的标签

类class是通过.去找元素的
class是指某些标签属于同一类 他们有共同的特征可以让css去给他们设置样式
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>class</title>
    <style>
        .名字{color: salmon;}
    </style>

</head>
<body>
    <h1 class="名字">我的妈妈</h1>
    <h1>我的爸爸</h1>
    <h1>我的奶奶</h1>
    <h1 class="名字">我的弟弟</h1>
    <p><b>我的妈妈是一个可爱善良的人1</b></p>
    <p><b>我的妈妈是一个可爱善良的人2</b></p>
    <p><b>我的妈妈是一个可爱善良的人3</b></p>
    <p class="名字"><b>我的妈妈是一个可爱善良的人4</b></p>
</body>
</html>

注意:下图问题
在这里插入图片描述

(三)标签选择器 通过html标签的名字,css可以找到自己需要去修改样式的标签

会对下面的所有的该标签名生效
在这里插入图片描述

**(四)关系选择器(派生选择器)

通过先定位能定位到的 再往后定位没有id或class的,css可以找到自己需要去修改样式的标签**
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>关系</title>
    <style>
        .div的哦 ul li{color: seagreen;}
    </style>
</head>
<body>
    <div class="div的哦">
        <ul>
            <li>内容</li>
            <li>内容</li>
            <li>内容</li>
        </ul>
    </div>
</body>
</html>

(五)全局选择器 对全部的元素生效

全局的是*
在这里插入图片描述

(六)伪类选择器 只要针对a标签

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>内嵌样式</title>
    <style>
        a:link{color: slateblue;}  /*访问前*/
        a:visited{color: slategrey;} /*访问后*/
        a:active{color:red;} /*访问中*/
        a:hover{color: springgreen;} /*鼠标划过*/
    </style>
</head>

<body>
    <a href="https://www.baidu.com/" target="__blank">百度一下</a>
</body>

</html>

(七)群组选择器

.a,.b,.c
在这里插入图片描述

四、css可以对html里的元素进行哪些修饰呢

比如上面的例子中都是对颜色做了美化

(一)文字属性

在这里插入图片描述

(二)对块儿标签设置背景属性

在这里插入图片描述
在这里插入图片描述
也可以同时设置多个 省事一些
在这里插入图片描述

(三)文字修饰属性

在这里插入图片描述

(四)无序列表属性

在这里插入图片描述

五、css对div盒模型进行设置

在这里插入图片描述

(一)边框属性 border

在这里插入图片描述

备注:
1.border-width的值有以下4种写法:
写法1:20px 30px 40px 50px;
4个数字 分别代表
20px 上边框的宽度
30px 右边框的宽度
40px 下边框的宽度
50px 左边框的宽度
写法2:10px 代表上下左右边框的宽度都是10px
写法3:10px 50px 代表上下边框是10px 左右边框是50px
写法4:10px 20px 30px 代表上10 左右20 下30

2.border-style的其他用法
写法1:border-style: solid 代表四条边都是实线
写法2:border-top-style:solid 代表上边框是实线
写法3:border-bottom-style:solid 代表下边框是实线
写法4:border-left-style:solid 代表左边框是实线
写法5:border-right-style:solid 代表右边框是实线

3.border-color的其他用法
写法1:border-color: black 代表四条边都是黑色
写法2:border-top-color: black 代表上边都是黑色
写法3:border-bottom-color: black 代表下边都是黑色
写法4:border-left-color: black 代表左边都是黑色
写法5:border-right-color: black 代表右边都是黑色

4.一个一个的写比较麻烦 也可以写复合属性
属性名是 border
在这里插入图片描述
当然 也可以指定边框去以符合属性值的方式填写
在这里插入图片描述
5.去除边框的方式
01 border-width:0
02 border:none
03
border-top:none
border-bottom:none
border-right:none
border-left:none
04
border-style:none

(二)外边距 margin

margin主要指的是标签与标签之间的距离 主要有下图中五种外边距的写法
在这里插入图片描述

可以上下左右去写
margin-top: 10px;
margin-bottom: 50px;
margin-left: 40px;
margin-right: 40px;
在这里插入图片描述
也可以只写一个margin
在这里插入图片描述
margin: 60px; 上下左右都是60
margin: 30px 60px; 上下30 左右60
margin: 30px 40px 60px; 上30 左右40 下60
margin: 20px 30px 40px 60px; 上20 下30 左40 右60

如何居中
margin:0 auto;
在这里插入图片描述

(三)内边距 padding

主要指的是内容和边框之间的距离
理论类似于买手机时里面的泡沫距离手机的距离

可以上下左右分开写
padding-top: 200px;
padding-left: 100px;

在这里插入图片描述
也可以只写一个
在这里插入图片描述

注意:
内边距要小于整个盒子的宽高 否则里面的padding加上内容本身的长度 盒子会变大
一个盒子的宽=左边框的宽度+左边内容与边框的宽度+内容的宽度+右边内容与边框的宽度+右边框的宽度
高度同理
在这里插入图片描述

五、css如何实现盒子的布局呢?

(一)需要注意的点
1.只有块元素才能浮动 这里一般是div的浮动
2.现在的块元素是上下布局
3.我们的布局目的是:让上下布局的东西变成左右布局

(二)如何浮动
注意:
如果浮动某个盒子 其他的会依次补位
如果让2和1是一行 那么需要1和2同时加上float
经常使用float:left
若对上面的盒子设置了浮动 下面的盒子要清楚浮动 clear:both

1.方式1 全部设置向左float
在这里插入图片描述

2.方式2 前两个向左,后面一个向右
在这里插入图片描述
3.方式3 如何做到前两个左右布局 后一个上下布局
在这里插入图片描述

4.方式4:如何做到第一个不动 第二和三并列呢
在这里插入图片描述

六、常用的几大实操部分

(一)如何做导航
方式1:a标签
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>学习导航</title>
    <style>
        a{
            /* 清除下划线 */
        text-decoration: none;
        /* 改变字体颜色 */
        color: black;
        /* 改变字体大小 */
        font-size: 18px;
        /* 改变右边距 */
        margin-right: 30px;}
        /* 鼠标滑过时候 颜色变换 */
        a:hover{color: rgb(53, 32, 241);}
    </style>
</head>
<body>
    <!-- 给整个盒子设置上外边距  更好看-->
    <div style="margin-top: 40px;">
        <!-- 点击链接 进入新闻 并且进入新的网页 因为第一个离的左边远 所以再行内设置一个左外边距 -->
        <a href="http://news.baidu.com/" target="__blank" style="margin-left: 40px;">新闻</a>
        <a href="https://www.hao123.com/" target="__blank" >hao123</a>
        <a href="https://map.baidu.com/@13374566,3524543,13z" target="__blank">地图</a>
        <a href="https://live.baidu.com/" target="__blank">直播</a>
        <a href="" target="__blank">视频</a>
        <a href="" target="__blank">贴吧</a>
        <a href="" target="__blank">学术</a>
        <a href="" target="__blank">更多</a>
    </div>
</body>
</html>

方式2:无序列表或有序列表
无序列表
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>导航-无序列表有序列表</title>
    <style>
        ul{list-style-type: none;}
        ul a{text-decoration: none;color: black;font-size: 18px;}
        ul a:hover{color: blue;}
        ul li{float: left; margin-left: 30px;}

    </style>
</head>
<body>
    <div width=200px height=300px style="margin-top:40px;">
        <!-- 注意:li是块儿元素 -->
        <ul>
            <li style="margin-left: 40px;"><a href="">新闻</a></li>
            <li><a href="">视频</a></li>
            <li><a href="">地图</a></li>
            <li><a href="">直播</a></li>
        </ul>
    </div>
</body>
</html>

有序列表
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>导航-无序列表有序列表</title>
    <style>
        ol{list-style-type: none;}
        a{text-decoration: none;color: black;font-size: large;}
        a:hover{color: rgb(33, 245, 13);}
        li{float: left;margin-left: 40px;}

    </style>
</head>
<body>
    <ol>
        <li style="margin-left: 50px;"><a href="">新闻</a></li>
        <li><a href="">视频</a></li>
        <li><a href="">地图</a></li>
        <li><a href="">直播</a></li>
    </ol>

</body>
</html>

方式3:行内元素转块元素 display: inline-block;
在这里插入图片描述
(二)如何给无序列表变颜色
在这里插入图片描述

七、定位

一共有三种定位:相对定位 绝对定位 固定定位
https://baijiahao.baidu.com/s?id=1620193018460734299
(一)相对定位
元素相对于自己原来的位置 进行移动 position:relative
左边边移动 就是 left
上边边移动 就是 top

未加定位前:
在这里插入图片描述

加定位后
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{border: rgb(255, 72, 0) 1px solid;margin: 0; width: 300px; height: 300px;}
        #old{border: springgreen 1px solid;margin: 0;width: 50px;height: 50px;}
        /* #new{border: rgb(213, 248, 14) 1px solid;margin: 0;width: 50px;height: 50px;display: inline-block} */

        #new{display: inline-block;border: rgb(213, 248, 14) 1px solid;margin: 0;width: 50px;height: 50px;position: relative;left:50px;top: 50px;}
        
    </style>

</head>
<body>
    <div>
        
        <a id="new">01</a>
        <a href="" style="width: 30px;height: 30px;border: solid red 1px;">02</a>
        <p id="old">03</p>
    </div>
</body>
</html>

将需要相对定位的元素上加入下图:
在这里插入图片描述

(二)绝对定位
相对最进的 设置了position:relative的父级元素 进行修改位置

未加定位前:
在这里插入图片描述
加里定位后
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #fuji{
            border: red solid 1px;
            margin: 0;
            width: 300px;
            height: 300px;
            position: relative;
        }

        #ziji{
            border: springgreen solid 1px;
            width: 30px;
            height: 30px;
            margin: 0;
            position: absolute;
            left: 50px;
            top: 50px;
        }
    </style>

</head>
<body>
    <div id="fuji">
        <p id="ziji"></p>
    </div>
</body>
</html>

注意:如果一直往上找不到父元素有position的 会以body为依据

(三)固定定位

固定在某一个地方
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #fuji{
            border: red solid 1px;
            margin: 0;
            width: 400px;
            height: 400px;
            position: relative;
        }

        #ziji{
            border: springgreen solid 1px;
            width: 30px;
            height: 30px;
            margin: 0;
            position: absolute;
            left: 50px;
            top: 50px;
        }

        #固定{
            border: rgb(241, 16, 193) solid 1px;
            width: 60px;
            height: 60px;
            margin: 0;
            position: fixed;
            left: 600px;
            top: 600px;
        }
    </style>

</head>
<body>
    <div id="fuji">
        <p id="ziji"></p>
        <p id="固定">固定我</p>
    </div>
</body>
</html>

八、补充知识点合集

(一)由于行内元素只能设置左右边距 如何使得块元素和行内元素互转
display: block
display: inline
display: inline-block 既是行内又是块
在这里插入图片描述

**(二)p标签如何自动换行 word-wrap: break-word **
用法:http://www.divcss5.com/rumen/r57095.shtml

未自动换行前:
在这里插入图片描述

自动换行后
在这里插入图片描述
**(三)块标签如何设置圆角 **
border-radius: 3px 6px 10px 25px
在这里插入图片描述

知识点总结:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值