2.* 分组与嵌套* 伪类选择器* 伪元素选择器* 选择器优先级* css属性相关(操作标签样式)

内容概要:

  • 分组与嵌套

  • 伪类选择器

  • 伪元素选择器

  • 选择器优先级

  • css属性相关(操作标签样式)

1.分组与嵌套

​
1.)逗号表并列关系,如果一个一个写会造成代码冗余

div,span,p {color: red}



2.)可以将不同选择器组合同时使用
div,#id号,.class号 {color: red}


注意:div span  {color: red}   #多个选择不是用空格隔开,这种属于组合选择器,意思是将div标签的内所有span标签拿到

​

2.伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        body {
            background-color: black;
        }
        a:link {  /*访问之前的状态*/
            color: red;
        }
        a:hover {  /*需要记住*/
            color: aqua;  /*鼠标悬浮态*/
        }
        a:active {
            color: black;  /*鼠标点击不松开的状态  激活态*/
        }
        a:visited {
            color: darkgray;  /*访问之后的状态*/
        }
        p {
            color: darkgray;
            font-size: 48px;
        }
        p:hover {
            color: white;
        }
        
        input:focus {  /*input框获取焦点(鼠标点了input框)*/
            background-color: red;
        }
    </style>
</head>
<body>
<a href="https://www.jd.com/">测试uuuuuuu</a>
<p>测试iiiiiii</p>
<input type="text">
</body>
</html>

3.伪元素选择器

p:first-letter {
            font-size: 48px; /*设置文字大小*/
            color: orange;
        }
p:before {  /*在文本开头添加内容,用css代码添加的内容无法被用户选中*/
            content: '我很好';
            color: blue;
        }
p:after {  /*在文本末尾添加内容*/
            content: '我很不好';
            color: orange;
        }
ps:before和after通常都是用来清除浮动带来的影响:父标签塌陷的问题(后面马上讲)

4.选择器优先级

         1.选择器相同 书写顺序不同
                就近原则:谁离标签更近就听谁的
            2.选择器不同 ...
                行内 > id选择器  > 类选择器 > 标签选择器
                精确度越高越有效

5.css属性相关

        1.)行内标签无法设置长宽 就算你写了 也不会生效 

                如span用css设置高度和宽度后没有任何变化

        

        2.)字体属性

        

p {
      /*font-family: "Arial Black","微软雅黑","...";  /*第一个不生效就用后面的写多个备用*/

            /*font-size: 24px;  !*字体大小*!*/

            /*font-weight: inherit;  /*bolder lighter 100~900 inherit继承父元素的粗细值*/

            /*color: red;  /*直接写颜色英文*/
            /*color: #ee762e;  /*颜色编号*/
            /*color: rgb(128,23,45);  /*三基色 数字  范围0-255*/
            /*color: rgba(23, 128, 91, 0.9);  /*第四个参数是颜色的透明度 范围是0-1*/

            /*当你想要一些颜色的时候 可以利用现成的工具
                1 pycharm提供的取色器
                2 qq或者微信截图功能
  				也可以多软件结合使用 
            */
        }

        3.)文字属性

        

p {
            /*text-align: center;  /*居中*/
            /*text-align: right;*/  /*右对齐*/
            /*text-align: left;*/    /*左对齐*/
            /*text-align: justify;  /*两端对齐*/

            /*text-decoration: underline;*/ /*添加下划线*/
            /*text-decoration: overline;*/    /*添加上划线*/
            /*text-decoration: line-through;*/  /*添加删除线*/
            /*text-decoration: none;*/
            /*在html中 有很多标签渲染出来的样式效果是一样的*/
            font-size: 16px;
            text-indent: 32px;   /*缩进32px*/
        }
        a {
            text-decoration: none;  /*主要用于给a标签去掉自带的下划线  需要掌握*/
        }

        

        4.)背景

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        #d1 {
            height: 500px;
            background-color: red; /*将背景换成红色*/
        }
        #d2 {
            height: 500px;
            background-color: green;
        }
        #d3 {
            height: 500px;
            background-image: url("222.png");  /*使用图片作为背景默认是全填充*/
            background-repeat: no-repeat;        /*将图片设置成不填充*/
            background-attachment: fixed;       /*可以固定图片,比较流行*/
            background-position: 100px(center) 100px(center)     /*设置图片的的位置 center为居中*/
 /*如果出现了多个属性名前缀是一样的情况 一般情况下都可以简写 只写前缀*/

            background: red url("222.png") no-repeat center center;  

/*只需要填上你想要加的参数即可 位置没有关系 参数个数也不做限制 加就显示不加就用默认的设置*/
        }
        }
        #d4 {
            height: 500px;
            background-color: aqua;
        }
    </style>
</head>
<body>
<div id="d1"></div>
<div id="d2"></div>
<div id="d3"></div>
<div id="d4"></div>
</body>
</html>

        5.)边框

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>

        p {
            background-color: red;

            border-width: 5px;
            border-style: solid;
            border-color: green;

        }
        div {
            /*border-left-width: 5px;*/
            /*border-left-color: red;*/
            /*border-left-style: dotted;*/

            /*border-right-width: 10px;*/
            /*border-right-color: greenyellow;*/
            /*border-right-style: solid;*/

            /*border-top-width: 15px;*/
            /*border-top-color: deeppink;*/
            /*border-top-style: dashed;*/

            /*border-bottom-width: 10px;*/
            /*border-bottom-color: tomato;*/
            /*border-bottom-style: solid;*/
            border: 3px solid red;  /*三者位置可以随意写*/

        }
        #d1 {
            background-color: greenyellow;
            height: 400px;
            width: 400px;
            border-radius: 50%;  /*直接写50%即可 长宽一样就是圆 不一样就是椭圆*/
        }
    </style>
</head>
<body>
    <p>1111.png</p>
<div>text啊啊啊啊啊啊</div>
<div id="d1"></div>
</body>
</html>

6.)display属性

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        /*#d1 {*/
        /*    !*display: none;  /*隐藏标签不展示到前端页面并且原来的位置也不再占有了 但是还存在于文档上*/
        /*    display: inline;  /*将标签设置为行内标签的特点*/
        /*}*/


        /*#d2 {*/
        /*    display: inline;*/
        /*}*/


        /*#d1 {*/
        /*    display: block;  /*将标签设置成块儿级标签的特点*/
        /*}*/


        /*#d2 {*/
        /*    display: block;*/
        /*}*/


        /*#d1 {*/
        /*    display: inline-block;*/
        /*}*/


        /*#d2 {*/
        /*    display: inline-block;  /*标签即可以在一行显示又可以设置长宽*/
        /*}*/
    </style>
</head>
<body>
<div style="display: none">div1</div>

<div>div2</div>

<div style="visibility: hidden">单纯的隐藏 位置还在</div>  

<div>div4</div>

<!--<div id="d1" style="height: 100px;width: 100px;background-color: red">01</div>-->

<!--<div id="d2" style="height: 100px;width: 100px;background-color: 
greenyellow">02</div>-->

<!--<span id="d1" style="height: 100px;width: 100px;background-color: red">span</span>-->

<!--<span id="d2" style="height: 100px;width: 100px;background-color: greenyellow">span</span>-->

<!--<div id="d1" style="height: 100px;width: 100px;background-color: red">01</div>-->

<!--<div id="d2" style="height: 100px;width: 100px;background-color: greenyellow">02</div>-->

</body>
</html>

        7.)盒子模型

"""
盒子模型
	就以快递盒为例
		快递盒与快递盒之间的距离(标签与标签之间的距离 margin外边距)
		盒子的厚度(标签的边框 border)
		盒子里面的物体到盒子的距离(内容到边框的距离  padding内边距)
		物体的大小(内容 content)
	
	
	如果你想要调整标签与标签之间的距离 你就可以调整margin
	
	浏览器会自带8px的margin,一般情况下我们在写页面的时候,上来就会先将body的margin去除
	
"""
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        body {
            margin: 0;  /*上下左右全是0
            /*margin: 10px 20px;  !* 第一个上下 第二个左右*/
            /*margin: 10px 20px 30px;  !*第一个上  第二个左右  第三个下*/
            /*margin: 10px 20px 30px 40px;  !*上 右 下 左*!*/
        }
        /*p {*/
        /*    margin-left: 0;*/
        /*    margin-top: 0;*/
        /*    margin-right: 0;*/
        /*    margin-bottom: 0;*/
        /*}*/

        #d1 {
            margin-bottom: 50px;
        }


        #d2 {
            margin-top: 20px;  /*不叠加 只取大的*/
        }

        #dd {
            margin: 0 auto;  /*只能做到标签的水平居中*/
        }
        p {
            border: 3px solid red;
            /*padding-left: 10px;*/
            /*padding-top: 20px;*/
            /*padding-right: 20px;*/
            /*padding-bottom: 50px;*/

            /*padding: 10px;*/
            /*padding: 10px 20px;*/
            /*padding: 10px 20px 30px;*/
            /*padding: 10px 20px 30px 40px;*/  /*规律和margin一模一样*/
        }
    </style>
</head>
<body>
<!--    <p style="border: 1px solid red;" id="d1">ppp</p>-->
<!--    <p style="border: 1px solid orange;" id="d2">ppp</p>-->
<!--<div style="border: 3px solid red;height: 400px;width: 400px">-->
<!--    <div id='dd' style="border: 1px solid orange;height: 50px;width: 50px;background-color: blue;"></div>-->
<!--</div>-->

<p>ppp</p>

</body>
</html>

        8.)浮动

"""浮动的元素 没有块儿级一说 本身多大浮起来之后就只能占多大"""
只要是设计到页面的布局一般都是用浮动来提前规划好
<style>
        body {
            margin: 0;
        }
        #d1 {
            height: 200px;
            width: 200px;
            background-color: red;
            float: left;  /*浮动  浮到空中往左飘*/
        }
        #d2 {
            height: 200px;
            width: 200px;
            background-color: greenyellow;
            float: right;   /*浮动 浮到空中往右飘*/
        }
</style>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值