CSS,选择器,常见属性、块元素与内联元素、浮动、块属性、层属性

什么是CSS

CSS 指 层叠样式表(Cascading Style sheets )
作用:
   它是用来美化网页的
  HTML代码是用来构建网页整体布局的,CSS则是用来美化网页的。两者缺一不可

基本语句

一条多多条的声明

在这里插入图片描述
多重声明

在这里插入图片描述
在这里插入图片描述

px 像素

颜色

英文单词 red,white,black
十六进制的颜色值: #ff0000
REG值
在线颜色选择器查看对应值

字体

font-family:"sans serif";

选择器

对指定的标签设置样式

对单个标签设置 id选择器

id选择器 可以为标有特定id的HTML元素指定特定的样式
id选择器 以 “#” 来定义

<head>
    <style>
        #p1{color:red;}
        #p2{color:blue;}
        #p3{color:green;}
    </style>
</head>
<body>
    <p id="p1">我是段落1</p>
    <p id="p2">我是段落2</p>
    <p id="p3">我是段落3</p>
</body>

在这里插入图片描述

对多个标签进行设置

类选择器

类选择器以一个点.显示,只要有同一类名的class都会被选择

<head>
    <style>
        .p1{color:red}
        .p2{color:green}
        p{color:blue}
        #p3{color:orange}
    </style>
</head>
<body>
    <p class="p1">我是class1段落</p>
    <p class="p1">我是class1段落</p>

    <p class="p2">我是class2段落</p>
    <p class="p2">我是class3段落</p>

    <p>我是一个什么都没有加载的段落</p>
    <p id="p3">我是一个id为p3的段落</p>
</body>

在这里插入图片描述

并集选择

可以同时使用多个标签或多个选择器中间使用逗号,分开

<head>
    <style>
  	        <!--把a标签和small标签都设置样式-->
            a,small{
                color:red;
                fond-size:30px;
                font-weight:bold;
            }
    </style>
</head>
<body>
    <a href="">我是锚标签</a>
    <small>我是small标签</small>
</body>

在这里插入图片描述
类选择器与id选择器并集

<body>
	<style>	
			#p3,p2{color:blue;}
	</style>
</body>

标签选择器

直接通过标签名来进行选择

<head>
    <style>
        p{color:blue}
    </style>
</head>
<body>
    <p>我是一个什么都没有加载的段落</p>
</body>

属性选择器

为指定属性的HTML元素设置样式,使用中括号[]
为带有title属性的所有元素设置样式

<head>
    <style>
        [type] {background:red;}
    </style>
</head>
<body>
    <input type="text" placeholder="请输入内容...">
</body>

在这里插入图片描述
div区域内外设置标签样式·

head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #box1{
            height:300px;
            width:200px;
            background:red;
        }
        #box1 p{     <!--对div区域内标签样式进行设置-->
            color:white;
        }
        p{color:blue;}		<!--外部标签样式进行设置-->
    </style>
</head>
<body>

    <div id="box1">
        <p>我是div区域内的段落</p>
    </div>
    <p>我是外部段落</p>
</body>

在这里插入图片描述

常见属性

字体属性

字体属性的功能是设置页面字体的显示样式
font-family 设置使用的字体
font-style 设置字体的样式,是否斜体
font-variant 设置字体的大小写
font-weight 设置字体的粗细
font-size 设置字体的大小

<head>
    <style>
        p{
            font-family: Arial;  /*设置字体样式*/
            font-style:italic; /* italic 斜体,normal:正常显示*/
            font-weight: 900; /*可以为bold, 和数字*/
            font-size:25px; /*设置字体大小*/
        }
    </style>
</head>
<body>
    <p>我是一个段落p</p>
</body>

在这里插入图片描述

颜色和背景属性

color 设置元素的颜色
在这里插入图片描述
background-color 设置颜色的背景色

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #p1{
            height: 100px;
            width: 100px;
            background-color: orange;
        }
    </style>
</head>
<body>
    <p id="p1">我是一个段落p</p>
</body>

在这里插入图片描述
background-image 设置元素的背景图案

<head>
    <style>
        #p1{
            height: 100px;
            width: 100px;
            background-image: url(images/test1.jpg);
        }
    </style>
</head>
<body>
    <p id="p1">我是一个段落p</p>
</body>

在这里插入图片描述
background-repeat 设置背景图案的重复方式

<head>
    <style>
        #p1{
            height: 300px;
            width: 300px;
            background-image: url(images/Myxq.jpg);
            /*background-repeat: 默认平铺*/
        }
        #p2{
            height: 300px;
            width: 300px;
            background-image: url(images/Myxq.jpg);
            background-repeat: no-repeat;
        }
        #p3{
            height: 300px;
            width: 300px;
            background-image: url(images/Myxq.jpg);
            background-repeat: repeat-x;    /*沿x轴平铺*/
        }
    </style>
</head>
<body>
    <p id="p1">我是一个段落p1</p>
    <p id="p2">我是一个段落p2</p>
    <p id="p3">我是一个段落p3</p>
</body>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
background-position 设置背景图案的初始位置

<head>
    <style>
        #p2{
            height: 300px;
            width: 300px;
            background-image: url(images/Myxq.jpg);
            background-repeat: no-repeat;
            background-position: 30px 40px;   /*第一个参数x轴,第二个参数y轴*/
        }
    </style>
</head>
<body>
    <p id="p2">我是一个段落p2</p>
</body>

在这里插入图片描述
background-size 设置背景大小

<head>
    <style>
        #p2{
            height: 300px;
            width: 300px;
            background-image: url(images/test1.jpg);
            background-repeat: no-repeat;
            background-size:30px 40px;  /*第一个参数宽度,第二个参数高度*/
        }
    </style>
</head>
<body>
    <p id="p2">我是一个段落p2</p>
</body>

在这里插入图片描述

文本属性

text-align 设置文本的对齐方式

<head>
    <style>
        #p1{
            height: 300px;
            width: 300px;
            background-image: url(images/Myxq.jpg);
            /*background-repeat: 默认平铺*/
            text-align: center;     /*left左对齐,right右对齐,center中心对齐*/
        }
    </style>
</head>
<body>
    <p id="p1">我是一个段落p1</p>
</body>

在这里插入图片描述在这里插入图片描述在这里插入图片描述
text-indent 设置文本的首行缩进

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #p1{
            width: 200px;
            height:64px;
            background:orange;
        }
        #p2{
            width: 200px;
            height:64px;
            background:orange;
            text-indent: 30px;
        }
    </style>
</head>
<body>
    <p id="p1">我是一个段落</p>
    <p id="p2">我是一个带首行缩进的段落</p>
</body>

在这里插入图片描述

line-height 设置文本的行高

<head>
    <style>
        #p1{
            width: 200px;
            height:64px;
            background:orange;
        }
        #p2{
            width: 200px;
            height:64px;
            background:orange;
            line-height: 64px;
        }
    </style>
</head>
<body>
    <p id="p1">我是一个段落</p>
    <p id="p2">我是一个带首行缩进的段落</p>
</body>

在这里插入图片描述
a:link 设置链接未访问的状态
a:visited 设置链接访问过的状态
a:hover 设置链接的鼠标激活状态

<head>
    <style>
        a:link{            /*没有访问的状态*/
            color:orange;
        }
        a:hover{            /*设置鼠标放上去的样子*/
            color:red;
        }
        a:visited{          /*访问过后的颜色*/
            color:yellow;
        }
    </style>
</head>
<body>
    <a href="test.html" target="_blank">跳转test标签</a>

</body>

边框属性

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #p1{
            width:200px;
            height:200px;
            /*颜色 边框宽度 线型*/
            border:#fa0eff 2px dashed;  /*虚线*/
        }
        #p2{
            width:200px;
            height:200px;
            /*颜色 边框宽度 线型*/
            border:#fa0eff 2px solid ;  /*实线*/
        }
    </style>
</head>
<body>
    <p id="p1">我是一个段落</p>
    <p id="p2">我是一个段落</p>
</body>

在这里插入图片描述

项目符号和编号属性

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #ul1{
            list-style: none; /*circle*/
        }
    </style>
</head>
<body>
    <ul id="ul1">
        <li>我是第1个li</li>
        <li>我是第2个li</li>
        <li>我是第3个li</li>
    </ul>
</body>

在这里插入图片描述在这里插入图片描述

块元素与内联元素

内联元素:
不会自己独立占一行,就好像一个单词,一直往后排
特点:
宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变
内联元素设置宽和高是没有效果的

常见的内联元素:
<a>,<big>,<br>,<em>,<img>,<input>,<label>,<select>,<span>,<textarea>

<head>
    <style>
        span{       /*设置宽和高是没有效果的*/
            background:orange;
            width:100px;
            height:100px;
        }
    </style>
</head>
<body>
    <span>我是一个span1</span>
    <span>我是一个span2</span>
</body>

在这里插入图片描述

块元素
自己单独占一行,就像一个段落
常见的块元素
<ul>,<li>,<form>,<h1-h6>,<hr>,<p>,<div>
块元素与内联元素相互转换
display:block 把内联元素转为块元素,显示为块级元素
display:inline 把块元素转为内联元素,显示为内联元素
display:inline-block 转为内联块元素,显示为内敛快元素,表现为同行显示并可修改宽高内外边距等属性

<head>
    <style>
        #span1{
            background:orange;
            width:100px;
            height:100px;
            display:block;
        }
        #span2{
            background:red;
        }
        #span3{
            background:red;
        }
    </style>
</head>
<body>
    <span id="span1">我是一个span1</span>
    <span id="span2">我是一个span2</span>
    <span id="span3">我是一个span3</span>
</body>

在这里插入图片描述

浮动

解决: 块元素在一行显示的问题

两个块级元素都设置了宽度和高度,两个想要占一行,就使用浮动,来进行设置
未使用浮动前

<head>
    <meta charset="UTF-8">
    <title>浮动</title>
    <style>
        #box1{
            width:100px;
            height:100px;
            background: red;
        }
        #box2{
            width:100px;
            height:100px;
            background: blue;
        }
    </style>
</head>
<body>
    <div id="box1">我是box1</div>
    <div id="box2">我是box2</div>
</body>

在这里插入图片描述
使用浮动后, 两者都浮动才能在一行显示

<head>
    <meta charset="UTF-8">
    <title>浮动</title>
    <style>
        #box1{
            width:100px;
            height:100px;
            background: red;
            float: left;		/*right*/
        }
        #box2{
            width:100px;
            height:100px;
            background: blue;
            float: left;
        }
    </style>
</head>
<body>
    <div id="box1">我是box1</div>
    <div id="box2">我是box2</div>
</body>

在这里插入图片描述

容器嵌套浮动

如果有嵌套,浮动相对的就是父元素,没有父元素,浮动相对的就是浏览器窗口

<head>
    <style>
        #out{
            background:blue;
            width:500px;
            height:300px;
        }
        #box1{
            width:100px;
            height:100px;
            background:red;
            float:right;
        }
        #box2{
            width:100px;
            height:100px;
            background:green;
            float:right;
        }
    </style>
</head>
<body>
    <div id="out">
        <div id="box1">我是box1</div>
        <div id="box2">我是box1</div>
    </div>
</body>

在这里插入图片描述
左右浮动

<head>
    <style>
        #out{
            background:blue;
            width:500px;
            height:300px;
        }
        #box1{
            width:100px;
            height:100px;
            background:red;
            float:right;
        }
        #box2{
            width:100px;
            height:100px;
            background:green;
            float:left;
        }
    </style>
</head>
<body>
    <div id="out">
        <div id="box1">我是box1</div>
        <div id="box2">我是box2</div>
    </div>
</body>

在这里插入图片描述
两边都为左浮动,如果宽度放不下,会被挤下去

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #out{
            background:blue;
            width:500px;
            height:300px;
        }
        #box1{
            width:401px;
            height:100px;
            background:red;
            float:left;
        }
        #box2{
            width:100px;
            height:100px;
            background:green;
            float:left;
        }
    </style>
</head>
<body>
    <div id="out">
        <div id="box1">我是box1</div>
        <div id="box2">我是box2</div>
    </div>
</body>

在这里插入图片描述
默认情况下,子元素能够撑起父元素的高度

<head>
    <style>
        #out{
            background:blue;
            width:500px;
            /*可以不设置高度,默认情况下是可以撑起父类的高度的*/
        }
        #box1{
            width:100px;
            height:100px;
            background:red;
        }
    </style>
</head>
<body>
    <div id="out">
        <div id="box1">我是box1</div>
    </div>
</body>

在这里插入图片描述
如果子元素设置了浮动,是没有办法撑起父元素的高度

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #out{
            background:blue;
            width:500px;
            /*可以不设置高度,默认情况下是可以撑起父类的高度的*/
        }
        #box1{
            width:100px;
            height:100px;
            background:red;
            float:left;  /*设置了浮动,浮动元素是不能撑起父类的高度的*/
        }
    </style>
</head>
<body>
    <div id="out">
        <div id="box1">我是box1</div>
    </div>
</body>

在这里插入图片描述
如果子元素设置了浮动,父元素要么手动设置高度,要么清除浮动

<head>
    <style>
        #out{
            background:blue;
            width:500px;
            /*可以不设置高度,默认情况下是可以撑起父类的高度的*/
            overflow:hidden;
        }
        #box1{
            width:100px;
            height:100px;
            background:red;
            float:left;  /*设置了浮动,浮动元素是不能撑起父类的高度的*/
        }
    </style>
</head>
<body>
    <div id="out">
        <div id="box1">我是box1</div>
    </div>
</body>

在这里插入图片描述

块属性

块属性是设置元素之间的距离
margin 两个容器(标签)之间的距离成为margin,从边框开始往外的距离
在这里插入图片描述
padding 容器内部的边距成为padding,从边框开始往里的距离
在这里插入图片描述
margin-top 设置顶边距
margin-right 设置右边距
padding-top 设置顶端填充距
padding-right 设置右侧填充距

<head>
    <style>
        .box1,.box2{
            width:100px;
            height:100px;
            border:red 2px solid;
            float:left;
        }
        .box1{
            margin-right:20px;/* 从后边框向外20个像素*/
        }
        .box2{
            box-sizing:border-box;  /*高度保持不变,若没有此语句,高度加下面语句里的20px*/
            padding-top:20px; /*从上边框开始向内20个像素*/
        }
    </style>
</head>
<body>
    <div class="box1">我是box1</div>
    <div class="box2">我是box2</div>
</body>

在这里插入图片描述

层属性

一个容器可以嵌套另一个容器

<head>
    <style>
        .box1{
            width:100px;
            height:100px;
            background:red;
        }
    </style>
</head>
<body>
    <div class="box1">我是box1</div>
</body>

在这里插入图片描述
因为默认有些标签是有外边距的,解决办法

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{      /*选择所有标签*/
            margin:0;  /*四个方向的外边距设为0*/
            padding:0; /*四个方向内边距设为0*/
        }
        .box1{
            width:100px;
            height:100px;
            background:red;
        }
    </style>
</head>
<body>
    <div class="box1">我是box1</div>
</body>

在这里插入图片描述

设置页面元素的定位方式

Relative 设置相对定位
Absolute 设置绝对定位
子绝对定位,父元素相对定位
在这里插入图片描述

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{      /*选择所有标签*/
            margin:0;  /*四个方向的外边距设为0*/
            padding:0; /*四个方向内边距设为0*/
        }
        .box{
            width:500px;
            height:500px;
            background:blue;
            margin-left:300px;
            margin-top:300px;
            position:relative;
        }
        /*子绝对定位,父元素相对定位*/
        .box1{
            width:100px;
            height:100px;
            background:red;
            position:absolute;
            left:100px;
            top:100px;
        }
    </style>
</head>
<body>
<div class="box">
    <div class="box1">我是box1</div>
</div>
</body>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值