CSS 一些基础知识

一、元素(element)

文档结构的基础,如:table、a、span、div

  1. 替换元素(replaced element) 替换元素内容的部分并非由文档内容直接显示,如img标签所显示的内容就是由外部图片给出。input元素最终显示按钮还是输入框则是由元素的属性决定

  2. 非替换元素(nonereplaced element) 大多数元素都是非替换元素,内容直接由文档给出,如<p>hello</p>显示的内容就是hello

  3. 行内元素(inline element) 一般在一行內显示。(a strong em)

  4. 块级元素(block element) 一般从新的行开始,旁边不能有其他元素,与之前的元素与之后的元素形成分割。(p div ul)

  1. 也可以通过CSS属性display的’inline’ 或 ‘ block’ 来改变元素为内联元素或块元素
  2. 在htm中块级元素不能继承自行内元素(即不能嵌套在行内元素中)。但是在css中显示角色如何嵌套不存在任何限制(关于display) 如:<p><em></em><p> 在块级元素中放行内元素,符合html规范行内元素可以继承自块级元素。在css可以通过<p style="display: inline;"><em style="display: block"></em></p>, 这样即行内属性中嵌套了块级属性,但是<em><p></p></em>,即使通过css将em转换为块级,p转换为行内,也是违反html规范的

二、html中使用css的几种方法

  1. <link>: <link rel="stylesheet" type="text/css" href="sheet1.css" media="all" />
  2. <style>
     <head>
     <style type="text/css"> @import url(sheet2.css)
        p {color: red;} 
     </style>
     </head>
    
  3. @import
  4. 內联使用(不推荐,与html耦合过重)

三、css的继承

css中基于继承机制,样式不仅应用到指定元素,还会应用到后代元素中,即css的继承