本文介绍: 网页实际上是一个多层的结构通过CSS可以分别为网页的每一个层来设置样式,类似PS的图层使用CSS来修饰元素样式方式大致可以分为3种。

HTML&CSS3

语雀HTML&CSS3文档

04-CSS语法选择器

1、CSS简介

层叠样式表

网页实际上是一个多层的结构,通过CSS可以分别为网页的每一个层来设置样式,类似PS的图层

使用CSS来修饰元素样式方式大致可以分为3种

内联样式行内样式

标签内容通过style属性设置元素样式

内部样式表
<style>
 	p{
 		color:red;
 		font-size:40px;
 	}
</style>

内容样式表只能对一个网页起作用,不能跨页面进行复用

外部样式

可以css样式编写到一个外部的CSS文件中,通过link标签引入外部的CSS文件

<link rel="stylesheet" href="./style.css">

将样式写到外部的CSS文件中,可以使用浏览器缓存机制,从而加快网页速度,提供用户体验

2、CSS基本语法

注释
<!-- html单行注释 --&gt;
<!-- html多行注释
--&gt;

/*
css中的注释
*/

/*
JS(JavaScript)和JQuery注释
*/

基本语法

选择器

声明

3、基本CSS选择器

通配符选择器(Universal selector
元素选择器(Type selector

也叫类选择器标签选择器

选择器class selector
ID选择器(ID selector

优先级id&gt;class&gt;标签

属性选择器(Attribute selector
  • 作用:根据元素的属性值选中一组元素

  • 语法:

    • [属性名]选择含有指定属性的元素
    • [属性名=属性值]选择含有指定属性和属性值的元素
    • [属性名^=属性值]选择属性值以指定值开头的元素
    • [属性$=属性值]选择属性值以指定值结尾的元素
    • [属性名*=属性值]选择属性值含有某值的元素
    p[title]{
    	color:red;
    }
    p[title$=e]{
    	color:red;
    }
    

4、复合选择器

交集选择器
并集选择器(选择分组
  • 作用同时选择多个选择器对应的元素

  • 语法:选择器1,选择器2,…选择器n{}

    h1,span{
    	color:red;
    }
    

5、关系选择器

  • 父元素:直接包含子元素的叫父元素
  • 子元素:直接被父元素包含的元素是子元素
  • 祖先原始:直接或间接包含后代元素的元素叫祖先元素;父元素也是祖先元素
  • 后代元素:直接或间接被祖先元素包含的元素叫做后代元素;子元素也是后代元素
  • 兄弟元素:拥有相同父元素的元素是兄弟元素
子元素选择器(child combinator)
后代元素选择器
  • 作用:选中指定元素内的指定后代元素

  • 语法:祖先 后代{}

    div span{
    	color:skyblue;
    }
    
兄弟元素选择器
  • 作用:选择下一个兄弟

  • 语法:

    • A1 + A2{} 相邻的兄弟选择器:找紧挨着的下一个兄弟元素

    • A ~ A3{} 通用兄弟选择器:后面所有兄弟元素

      p + span{
      	color: red;
      }
      p ~ span{
      	color: red;
      }
      

6、伪类选择器

伪类:不存在的类,特殊的类。用来描述一个元素的特殊状态如:第一个子元素、被点击的元素、鼠标移入的元素…

伪类一般情况下都是使用开头

以上这些伪类都是根据所有的子元素进行排序

这几个伪类的功能上述的类似,不同点是他们是在同类型元素中进行排序

7、伪元素选择器

伪元素,表示页面中一些特殊的并不真实存在的元素(特殊位置

伪元素::开头

06-盒子模型

1、文档流(normalflow

网页是一个多层的结构,通过CSS可以分别为每一层来设置样式,作为用户来讲只能看到最顶上的一层,这些层中,最底下的一层称为文档

2、块元素
3、行内元素
4、盒子模型
盒子模型

CSS将页面中所有元素都设置为一个矩形的盒子,对页面的布局就是不同的盒子摆放到不同位置

每一个盒子都是有一个几个部分组

内容区

内容区是盒子的模型中心,它呈现了盒子的主要信息内容,这些内容可以是文本图片等多种类型,元素中的所有的子元素和文本内容都在内容区中

边框

边框属于盒子边缘边框里边属于盒子内部,出了边框都是盒子的外部

注意:边框的大小影响都爱整个盒子的大小

soliddotted、dashed、double

不论是borderwidthbordercolor、borderstyle 还是其衍生出来的属性写法,都可以指定每个方向的边框情况

设定几个值就决定了对应方向宽度颜色或样式

.box1{
	border: 10px red solid;
}
内边

内边距,也叫填充,是内容区和边框之间空间背景颜色会延伸

外边距

外边距,位于盒子的最外围的空间空白边使盒子之间不会紧凑的连接在一起,是CSS布局的一个重要手段

注意:外边框不会影响盒子的可见框的大小,但是外边距会影响盒子的位置和占用空间

margin四周外边距

5、水平方布局

元素再其父元素中水平方向的位置由以下几个属性共同决定

margin-left border-left padding-left width padding-right border-right margin-right

水平布局必须满足以下的等式

​ 其父元素内容区的宽度 = margin-left + border-left + padding-left + width + padding-right +border-right + margin-right

以上等式必须满足,如果相加结果使等式不成立,则称为 过度约束

等式会自动调整的情况

0+0+0+200+0+0+0=800 => 0+0+0+200+0+0+600=800

6、垂直方向布局
元素溢出

overflowoverflowx overflow-y)

外边距折叠
垂直外边距的重叠

​ 不能让两个垂直margin相遇,否则就回发生外边距折叠

避免外边距折叠方法

兄弟元素
  • 如果相邻的外边距都是正值,取两者之间的较大者
  • 如果相邻的外边距都是一正一负,则取两者的和
  • 如果相邻的外边距都是负值,则取两者中绝对值较大的
  • 总结:兄弟元素之间的外边距的重叠,对于开发是有利的,不需要进行处理
父子元素

​ 父子元素间相邻外边距,子元素会传递给父元素(上外边距)

7、行内元素的盒模型

想要行内元素对页面布局产生影响

1、display 用来设置元素的行内元素

2、visibility用来设置元素的显示状态

8、浏览器的默认样式

通常情况,浏览器都会为元素设置一些默认的样式

默认样式的存在影响到页面的布局,通常情况下编写网页时必须要去除浏览器的默认样式(PC端的页面)

*{
	margin:0;
	padding:0;
	list-stylenone;
}

reset样式

normalize样式

原文地址:https://blog.csdn.net/weixin_45168162/article/details/134264072

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_42374.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注