css的基础概念

134 阅读3分钟

置换元素和非置换元素

css是依赖元素的 ,伪元素也是依赖于真实元素。对css来说,元素通常有两种形式,置换元素和非置换元素。例如各种媒体元素img video audio 就是置换元素,我们常用的div p span 就是置换元素。

置换元素指用来置换元素内容的部分(眼睛看到的),不由文档内容直接显示。input元素也是 置换元素,input是根据不同type来显示不同的内容 而非写在里面的文本,事实上它也是单标签,也可以说单标签元素应该都是置换元素。

非置换元素 元素的内容由用户(对于浏览器的开发者而言,前端人员还真是用户)代理在元素自身生成的框里显示。像各种容器 文本标签都是 b p em main head section article 等等。

从组件的角度来看,置换元素就是一个个封装好了的原生组件,只需要给一些参数就能渲染出对应的东西, 而非置换元素 ,就是容器,容器里装什么,我们来决定。

行内元素 和 块级元素

简单的说,在不加额外样式的情况下, 也就是标准流,一行只能放一个块级元素,它比较霸道,一个人独占一行。 而行内元素一行可以放多个。概念性的说法就是:

块级元素(横向)默认占满父元素的框(也就是常说的width:100%),并且前后都断行。比如main head.
块级元素在一行文本内生成元素,不打断所在行。如span b i s a. 行内元素之间是可以相互嵌套的, 块级可以放行内元素,但是块级元素不能放在行内元素里,如果你这么做你会发现页面上 块级元素还是独占一行 但是行内元素可能被截断,因为块级元素前后都断行,断掉了行内元素的连续行。

css应用到HTML

外部样式表 就是使用link标签 引入外部css文件。link标签的 rel(relation)应为stylesheet, type(数据类型或文件类型)的值为text/css, 还可以用 media 指定媒体类型。 <link rel="stylesheet" href="assets/css/iconfont.css" type="text/css" media="screen, projection" > style标签 也可以使用style 标签进行样式书写 注意这里仍旧只能使用css语法, less sass 是不能直接写在style标签中。这里说的是正经的HTML文件,其他语法都是需要经过编译。

css文件 只能有样式声明和css 注释,不能有其他东西。

行内样式 行内样式之能事一系列规则声明, 不能包含完整的样式表。最为明显的就是无法使用(伪类)选择器, 因为你已经选择了这个标签。

外部样式 和 style 标签都可以引入外部样式, 使用@import 指令
@import url(path) url中的路径不用引号。