前端-html、css(一)-html标签 css选择器

320 阅读4分钟

本篇文章主要用来记录前端H5中html、css相关的知识点,主要是css的记录

html

首先html是标记语言,怎么理解呢,就是通过一个个的标签,来表达不同的意思,突出不同的样式,例如<a>标签表示链接,<p>标签表示段落等。

但是html发展到现在这个阶段,其实html在表现样式这方面越来越弱化,主要还是用来表示结构,样式部分都是由css来进行控制的。所以html部分我们主要介绍的是标签,样式控制部分在css中介绍

html基本结构

html文档的基本结构如下

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>

<script>
    
</script>
</body>
</html>

head中放style样式,style标签用于引入css文件,或者直接写css语法 body的底部一般放script标签,用于js的引入。为什么放在底部呢,因为html文档是从上到下的顺序被解析的,所以js放到底部,这时dom结构就已经有了

html主要标签

  • div 最重要的块元素标签
  • span 行内元素
  • input 输入框 有不同的type,例如button等
  • a 链接
  • img 图片
  • ul li 列表 这个很常用

这些标签在项目中是比较常用到的,html主要是做结构用的,样式是css负责的事情

css

css中最主要的内容就是样式,布局,主要介绍这样几个内容: 选择器、盒子模型、boder、float浮动、position布局、flex布局等,主要还是介绍项目中经常用到的。

选择器

  • 类选择器 "."标识符
.button {
    
}
  • id选择器 "#"标识符
#button {
    
}
  • 交集选择器 写在一起
/*class为button的div元素*/
div.button{
    
}
  • 并集选择器 样式相同的一些元素可以写成并集选择器 以逗号分割
/*div 或者p元素*/
div, p {
    
}
  • 后代选择器 以空格分开
/*选择div里面的p元素*/
div p {
    
}
  • 子选择器 以>分割
/*p必须是div的子元素,这个要和后代选择器区分开,后代选择器可以是儿子的儿子,子选择器只能是儿子*/
div > p {
    
}
  • 伪类选择器 伪类选择器主要介绍一下几个
 :link      /* 未访问的链接 */
 :visited   /* 已访问的链接 */
 :hover     /* 鼠标移动到链接上 */
 :active    /* 选定的链接 */

注意写的时候,他们的顺序尽量不要颠倒 按照 lvha 的顺序。 love hate 爱上了讨厌 记忆法

  • 伪元素 ::before ::after

之所以被称为伪元素,是因为他们不是真正的页面元素,html没有对应的元素,但是其所有用法和表现行为与真正的页面元素一样,可以对其使用诸如页面元素一样的css样式,表面上看上去貌似是页面的某些元素来展现,实际上是css样式展现的行为,因此被称为伪元素

/*在span元素里面的前面加个伪元素*/
span::before {
    content:"1"
}

层叠性 继承性 优先级

  • 层叠性

如果发生样式冲突,会按照权重来决定应用哪个样式

  • 继承性

子元素可以继承父元素的某些属性,只有部分属性是可以被继承的

子元素可以继承父元素的样式(text-,font-,line-这些元素开头的都可以继承,以及color属性)
  • 优先级

解决样式发生冲突的时候,使用哪个的问题。根绝下表计算优先级,使用优先级大的

继承或者* 的贡献值 0,0,0,0
每个元素(标签)贡献值为 0,0,0,1
每个类,伪类贡献值为 0,0,1,0
每个ID贡献值为 0,1,0,0
每个行内样式贡献值 1,0,0,0
每个!important贡献值 ∞ 无穷大

注意:

1.数位之间没有进制 比如说: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不会存在10个div能赶上一个类选择器的情况。

2.继承的 权重是 0

总结优先级:

1. 使用了 !important声明的规则。
2. 内嵌在 HTML 元素的 style属性里面的声明。
3. 使用了 ID 选择器的规则。
4. 使用了类选择器、属性选择器、伪元素和伪类选择器的规则。
5. 使用了元素选择器的规则。
6. 只包含一个通用选择器的规则。
7. 同一类选择器则遵循就近原则。