css基础语法篇

CSS基础语法篇

一、css语法

1.CSS规则由两个主要的部分构成:选择器以及一条或多条声明
在这里插入图片描述
2.CSS选择器的作用:
(1)选择器通常是您需要改变样式的 HTML 元素。
(2)每条声明由一个属性和一个值组成。
(3)属性(property)是您希望设置的样式属性(style attribute)。
(4)每个属性有一个值。属性和值被冒号分开。

二、css如何创建

1.如何插入样式表

(1)外部样式表(External style sheet)
(2)内部样式表(Internal style sheet)
(3)内联样式(Inline style)

2.外部样式表

(1)语法:
在这里插入图片描述

3.内部样式表

(1)语法:在这里插入图片描述

4.内联样式表

在这里插入图片描述

三、css部分属性介绍

3.1 css background(背景)

1.CSS 属性定义背景效果

(1)background-color:定义了元素的背景颜色.
   补充:CSS中,颜色值通常以以下方式定义:十六进制 - 如:
    “#ff0000”
   RGB - 如:“rgb(255,0,0)”
   颜色名称 - 如:“red”
(2)background-image:属性描述了元素的背景图像,默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体.

body
{
		background-image:url('gradient2.png');
		background-repeat:repeat-x;
}

(3)background-repeat:如果你不想让图像平铺,你可以使用 background-repeat 属性

body
{
		background-image:url('img_tree.png');
		background-repeat:no-repeat;
		background-position:right top;
}

补充知识点:背景图像与文本显示在同一个位置,为了让页面排版更加合理,不影响文本的阅读,我们可以改变图像的位置,可以利用 background-position 属性改变图像在背景中的位置:
(4) background-attachment:
   ①背景图像是否固定或者随着页面的其余部分滚动。
   ② background-attachment属性取值:
     i. scroll:默认值,背景图相对于元素固定,背景随页面滚动而移动,即背景和内容绑定, 对于scroll,一般情况背景随内容滚动,但是有一种情况例外。对于可以滚动的元素(设置为overflow:scroll的元素),当background-attachment设置为scroll时,背景图不会随元素内容的滚动而滚动。
     ii. fixed:背景图相对于视口固定,所以随页面滚动背景不动,相当于背景被设置在了body 上。
     iii.local:背景图相对于元素内容固定
     iv:inhert:继承
(5) background-position:设置背景图像的起始位置
在这里插入图片描述

2.背景简写属性

(1)将这些属性合并在同一个属性中背景颜色的简写属性为 “background”:

body {background:#ffffff url('img_tree.png') no-repeat right top;}

3.2 text(文本)

1.字体属性

(1)设置字体:
在这里插入图片描述
(2)字体大小:
在这里插入图片描述
(3)字体粗细:在这里插入图片描述
(4)文字样式:
在这里插入图片描述
(5)字体复合属性:在这里插入图片描述
(6)字体属性总结:在这里插入图片描述

2.文本属性

(1)CSS Text(文本)属性可定义为文本的外观,比如文本的颜色、对齐文本、装饰文本、文本缩进、行间距等
在这里插入图片描述

(2)文本颜色
在这里插入图片描述
补充:HSL(H(色相),S (饱和度),L(亮度))

(3)对齐文本
在这里插入图片描述

(4)装饰文本
在这里插入图片描述

(5)文本缩进
在这里插入图片描述

大小
rem相对于根元素的一个字体大小
em等于你当前设置字体的一个字体大小

(6)行间距
在这里插入图片描述

四、选择器

4.1 标签选择器

(1)用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式
(2)语法:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
  	p//标签名{
    color:red;//属性:属性值
    text-align:center;
	}
  </style>
</head>
<body>
	<p>Hello World !<p>
</body>
</html>


4.2 类选择器

(1)如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
  	.center {text-align:center;}//类标签选择器
  </style>
</head>
<body>
	<div class="center">Hello World !<div>
</body>
</html>

4.3 id选择器

(1)HTML元素以id属性来设置id选择器,CSS中id选择器以“#”来定义
(2)语法:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
  	#para1//id标签选择器
	{
    	text-align:center;
    	color:red;
	}
  </style>
</head>
<body>
	<div id="center">Hello World !<div>
</body>
</html>


(3)id选择器和类选择器的区别:
在这里插入图片描述

4.4 复合选择器(交集选择器)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    div.first {/*复合选择器,只选中div标签中class为first的元素*/
      color: red;
    }
  </style>
</head>
<body>

  <div class="first">Hello world !</div>
  <p class="first">Hello world !</p>

</body>
</html>

4.5 选择器分组(并集选择器)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    div, p, .first{/*并集选择器*/
      color: red;
    }
  </style>
</head>
<body>

  <div >Hello world !</div>
  <p >Hello world !</p>
  <span class="first" >Hello world !</span>
</body>
</html>

4.6 关系选择器

1.子元素选择器

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>关系选择器</title>
  <style>
    div > span{
      color: red;
    }
  </style>
</head>
<body>
<div>我是父元素
  <p>我div是子元素
    <span>我是后代元素 </span>
  </p>
  <span>我是span子元素</span>
</div>

</body>
</html>

2.后代选择器

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>关系选择器</title>
  <style>
    div span{
      color: red;
    }
  </style>
</head>
<body>
<div>我是父元素
  <p>我div是子元素
    <span>我是后代元素 </span>
  </p>
  <span>我是span子元素</span>
</div>

</body>
</html>

3.选择兄弟标签

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>关系选择器</title>
  <style>
    p + span{/*选择p的下一个兄弟元素span,将+换为~表示将p元素后的所有span标签元素选中*/
      color: red;
    }
  </style>
</head>
<body>
<div>我是父元素
  <p>我div是子元素
    <span>我是后代元素 </span>
  </p>
  <span>我是span子元素</span>
</div>

</body>
</html>

4.7 属性选择器

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>关系选择器</title>
  <style>
    p[title]{/*选中P标签中带title属性的元素,p[title=first],则表示只选择P标签中带title属性且属性值等于first的元素*/
      color: red;
    }
  </style>
</head>
<body>
<div>
  <p title="first">Hello World !</p>
  <p >Hello World !</p>
  <p >Hello World !</p>
</div>

</body>
</html>

4.8 伪类选择器

1.伪类选择器

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>关系选择器</title>
  <style>
    ul > li:first-child{/*伪类元素选择器,选中该标签当前第一个子元素*/
      color:red
    }
    ul >li:nth-child(3){
      color:blue
    }
    ul >li:not(:nth-child(4)){/*去除伪类选择器选中的元素( <li>第三个</li>)*/
      color: green;
    }
    ul >li:not(:nth-of-type(4)){/*去除伪类选择器选中的同类型元素(<li>第四个</li>)*/
      color: green;
    }

  </style>
</head>
<body>
<ul>
  <span>我是span标签</span>
  <li>第一个</li>
  <li>第二个</li>
  <li>第三个</li>
  <li>第四个</li>
</ul>

</body>
</html>

2.超链接的伪类

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    a:link{
      color:red
    }
    a:visited{
      color: yellow;
    }
    a:hover{
      color: blue;
    }
    a:active{
      color: green;
    }
  </style>
</head>
<body>
  <a href="#">没访问过的链接</a>
  <a href="#">访问过的链接</a>
  <a href="#">鼠标移入链接</a>
  <a href="#">鼠标点击</a>

</body>
</html>

4.9 伪元素选择器

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    p::first-letter{/*选择段落中第一个字母设置样式*/
      font-size: 50px;
    }
    p::first-line{/*选择段落中第一个行设置样式*/
      color: red;
    }
    p::before{
      content:"只能通过css在元素开始添加内容"
    }
    p::after{
      content:"只能通过css在元素最后添加内容"
    }
  </style>
</head>
<body>
  <p> Hello World !</p>
</body>
</html>

4.10 通配符选择器

(1)在曾CSS中,通配符选择器使用“*”定义,他表示选择页面中所有的元素(标签),常用通配符选择器来去除浏览器的默认样式
(2)语法:在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
  </style>
</head>
<body>
	<div class="center">Hello World !<div>
</body>
</html>```

3.补充:书写样式可通过引入normalize.css和reset.css来实现清除浏览器的默认样式

normalize对默认样式进行统一,保证不同的浏览器的默认样式一致
reset.css清除浏览器的所有默认样式

4.11 继承

1.样式的继承,我们为一个元素设置的样式同时也会应用到它的后代元素中
2.继承是发生在祖先和后代之间的
3.并不是所有样式都会被继承,如背景、布局等就被会被继承

4.12 选择器的权重

1.当我们用把不同的选择器选中同一个元素并为该元素修改样式时,会发上样式冲突,此时我们需要根据不同选择器的权重来书写和判断,最终哪个选择器会成功选中该元素并修改它的样式
2.选择器的权重

选择器样式
内联样式1,0,0,0
id选择器0,1,0,0
类和伪类选择器0,0,1,0
元素选择器0,0,01

3.权重越高,则会选择该选择器;注意选择器的累加不会超过其最大的数量级,类选择器再高也不会超过id选择器
4.如果优先级相同,则会选择里该元素最近的样式
5.可以在某一个样式后面添加!important则此时该样式的优先级超过了内联样式的优先级,拥有最高的优先级(慎用)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值