CSS学习第二周

嗨兄弟们,经过了一周的学习 我这次学到了挺多东西的

一起来看看吧!! 

目录

三大样式表 

块元素和行内元素,行内块元素

 复合选择器

交集选择器

并集选择器

后代选择器

子元素选择器   

属性选择器

伪元素选择器

背景图片

背景颜色

图片的引用

图片的平铺

图片固定

图片的方位

综合模式

图片的缩放

图片的填充

多背景图片


三大样式表 

分别是内部样式表,外部样式表,行内样式表

一,内部样式表简单来说就是写在HTML文件并用<style>标签囊括在里面的,就叫内部样式表,内部可以理解成HTML的内部

二,外部样式表就是新建一个CSS文件,与HTML区别开,且会在HTML文件里说明引用的CSS文件

譬如:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>内部 行内 外部样式表</title>
		<link rel="stylesheet" href="style.css">  
		
	</head>
	<body>
		<h1 style="color: aquamarine; font-size: 16px;">行内样式表 样式少的时候用</h1>
	</body>
</html>

其中href就是引用的途径

三,行内样式表就是在标签中用属性style写CSS

这种情况适用于你CSS的代码较少的时候

这三大样式表还是比较好理解的

块元素和行内元素,行内块元素

一,块元素就是一个标签就占一大块的,像<div><p><h1><h6>等标签占一整行

二,行内元素就是可以和相邻行内元素可在同一行,不独占一行

块元素和行内元素的区别除了面积之外:

①还有行内元素不可调宽高而块元素可以

②行内元素不可包括块元素而块元素可以(但是<h1><p>等文字类块元素不可放其他块元素)

③块元素不可与块元素同行而行内元素可以

三,在块元素和行内元素之间还存在一个行内块元素<input><img><td>,其特点有:

①可以和行内元素同行

②可以调范围宽高

而行内元素和块元素可以转化为行内块元素,方法是:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>块 行内 行内块元素</title>
	</head>
    <style>
    h1 {
        display:inline-block;
    }
    </style>
	<body>
		<h1>块转行内块</h1>
	</body>
</html>

显示模式display下 行内转块block  块转行内inline(在线上) 转行内块inlink-block

 复合选择器

复合选择器我们会讲很多

包括交集 并集 后代 子元素 属性 伪元素共6种选择器,但不难理解

交集选择器

其实很简单理解。

我们之前说过有标签选择器,id选择器,类选择器等,所以一个标签可以有标签名,类名,id名。

因此在我们不好选中某个标签时,可以写上其标签名,类名,交叉选中此标签。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>交集选择器</title>
        <style>
        p.class {
            color:blue;
        }
        </style>
	</head>
	<body>
        <p class=class>交叉</p>
	</body>
</html>

方法就是将标签名和类名或id名结合。

并集选择器

要是想多选几个标签的话可以使用并集选择器

方法就是将每个标签名或类名id名用逗号隔开且多一个空格,即可完成连选。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>并集选择器</title>
        <style>
        h1, em, span#2 {
            font-family:"微软雅黑";
        }
        </style>
	</head>
	<body>
        <h1 class=1>并</h1>
        <em>集</em>
        <span id=2>选择器</span>
	</body>
</html>

后代选择器

后代选择器适用于有父子级划分的标签

当想选中父级之外的其中一个子级的话就要用后代选择器

只要写出父级标签名 再空个格 再写子级标签名即可被选中

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
            div div#class {
                color:red;
            }
        </style>
	</head>
	<body>
        <div>
            <div id=class>后</div>
            <div>代</div>
        </div>
	</body>
</html>

子元素选择器   

子元素选择器和后代选择器有亿点点区别:

倘若子级后面还有子级 后代选择器就会选中子级后的所有子级

而子元素选择器只会选择当前的子级,不会再选中往下的子级

方法是 父级名 > 子级名 即可

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
            div > div#class {
                color:red;
            }
        </style>
	</head>
	<body>
        <div>
            <div id=class></div>
        </div>
	</body>
</html>

属性选择器

就是根据你标签里是否写有该属性来选对标签

内容可以看下面的代码,建议大家都动手试一试

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>属性选择器</title>
        <style>
           a[title] {
			color: azure;
		}
		input[type=text] {
			color: #0000FF;
		}
		div[class^=font] {    /* 尖括号表示以什么开头就可以了 */
			color: #7FFFD4;
		}
		div[class$=value] {    /* $表示以什么结束就可以被选中 class中不一定需要a-value 也 
                                   可以avalue */
			color: red;
		}
		/* *表示任意位置只要class有指定的字母都可以被选中 */
        </style>
	</head>
	<body>
        <input type="text" value=第一>
		<input type="text" value=第二>
		<input type="password" value=21212>
		
		<div class="font1">1</div>
		<div class="font2">2</div>
		<div class="gont3">3</div>
		<div class="font4">4</div>
		<div class="hont5">5</div>
		
		<div class="a-value">a</div>
		<div class="b-value">b</div>
		<div class="a-name">c</div>
		
	</body>
</html>

伪元素选择器

它跟伪类选择器的名差不多,但这个更细,细到可以针对标签中文字部分里的其中一个字,所以说为什么叫伪元素,也是有道理的

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
           /* 伪元素选择器  可以选择里面的任意元素*/
		p::first-letter {     /* 选中段落的第一个字 */
			font-family: "agency fb";
		}
		p::first-line {
			color: #0000FF;
		}
		p::selection {        /* 用户在网页上选中的字变红色 */
			color: #FF0000;
		}
		div::before {       /* before和after都是在div里面的前面或后面插入字 */
			content: 俺;
		}
        </style>
	</head>
	<body>
       <p>哔哩哔哩动画</p>
		<div>今年</div>
		
	</body>
</html>

 

背景图片

下面讲的就是关于背景图片的内容。

背景颜色

首先呢我们可以先用块元素设置宽高创建区域,然后我们可以为这区域设置背景颜色。

具体如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
           div {
                height:200px
                font-align:center
                background-color:pink;
                font-size:22px;}
        </style>
	</head>
	<body>
        <div>2022年新年快乐!</div>
	</body>
</html>

其中还有背景颜色的透明度这小知识

可以直接写成像文字透明度那样

background: rgba(250,0,0,0.5);

 

图片的引用

怎么引用图片呢? 要用到background-imgae

其中url括号里要写明图片的路径

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
           background-image: url(img/3.jpg);  /* 图片路径要在此文件的父文件之下 */
        </style>
	</head>
	<body>
       <div></div>
	</body>
</html>

 

图片的平铺

什么叫平铺呢? 

就是你设置的背景大小要是比图片大的话,本应该没被图片覆盖的地方就会被图片覆盖

具体怎么样的可以自己试一试

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
            div {
               background-repeat: no-repeat;   	 /*repeat表示平铺的意思,有repeat-x,repeat-y */ 
            }
        </style>
	</head>
	<body>
       <div></div>
	</body>
</html>

repeat就是平铺的意思,可以选择repeat-x意思就是在水平方向上平铺,repeat-y就垂直方向

 

图片固定

什么叫图片的固定呢,就是说在你观看一个网站要下滑时,图片是不会根据你的下滑而动,固定死的

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
            div {
               background-attachment: fixed;    	 /* scroll是会滚动 fixed是锁定 */
            }
        </style>
	</head>
	<body>
       <div></div>
	</body>
</html>

 

图片的方位

当你想把图片放在背景的具体位置时,就要用到图片的方位代码

设置位置有两类,一类是方位词,一类就是具体的坐标

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
           div {
                background-postion:right bottom}
        </style>
	</head>
	<body>
        <div></div>
	</body>
</html>

用postion时有俩个位置,这俩个位置可以都填方位词,或都填坐标,也可以一方位词一坐标

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
           div {
                background-postion:30px centre}
        </style>
	</head>
	<body>
        <div></div>
	</body>
</html>

要是一个一个地这么设置会不会很麻烦呀?

所以就又又又会有简写模式 

综合模式

要是想把背景颜色,背景图片设定,背景图片平铺,固定,方位都一次性设置完的话

就要用到 background啦

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
            div {
            background: #000000 url(img/QQQ.jpg) no-repeat fixed 40px 20px;    /* 图片定义的简写,按上面的顺序来 */
            }
        </style>
	</head>
	<body>
       <div></div>
	</body>
</html>

其顺序就是按照我们上面说的顺序依次写就完啦

 

图片的缩放

图片缩放也不是很复杂,小知识点而已

既然文字都有font-size,那图片肯定也会有background-size啦

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
            div {
            background-size: 100px;    /*  图片的缩放 只写横坐标表等比例缩放
 写俩个数就是直接放,会失真  也可写百分比*/
            } 
        </style>
	</head>
	<body>
        <div></div>
	</body>
</html>

 

图片的填充

图片的填充有分两种  依然是用background-size

cover代表是图片会等比例放缩直到填充完整个背景区域,所以有时图片会溢出,溢出的部分就会被舍去

contain代表是图片会等比例缩放,且图片会完整的填充到背景区域里,但不会填充完,会有背景颜色显现

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
            div {
            background-size: contain;
            } 
        </style>
	</head>
	<body>
       <div></div>
	</body>
</html>

 

多背景图片

多背景顾名思义就是在其中一个背景中填充好几张背景图片

格式大概就是综合模式那样

但要把背景颜色放在最后,且图片定义之间用逗号隔开

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
        <style>
           background:url(img/1.jpg) no-repeat top center,url(img/2.jpg) no-repeat scroll right bottom red;
        </style>
	</head>
	<body>
        <div></div>
	</body>
</html>

好!今天就讲到这,可能内容有点多哈

祝读者们新年快乐呀!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值