HTML的块级元素和内联元素

一、任何不是块级元素的可见元素都是内联元素##

块元素(block element)

* address - 地址
  * blockquote - 块引用
  * center - 举中对齐块
  * dir - 目录列表
  * div - 常用块级容易,也是css layout的主要标签
  * dl - 定义列表
  * fieldset - form控制组
  * form - 交互表单
  * h1 - 大标题
  * h2 - 副标题
  * h3 - 3级标题
  * h4 - 4级标题
  * h5 - 5级标题
  * h6 - 6级标题
  * hr - 水平分隔线
  * isindex - input prompt
  * menu - 菜单列表
  * noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容
  * noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)
  * ol - 排序表单
  * p - 段落
  * pre - 格式化文本
  * table - 表格
  * ul - 非排序列表

内联元素(inline element)

* a - 锚点
  * abbr - 缩写
  * acronym - 首字
  * b - 粗体(不推荐)
  * bdo - bidi override
  * big - 大字体
  * br - 换行
  * cite - 引用
  * code - 计算机代码(在引用源码的时候需要)
  * dfn - 定义字段
  * em - 强调
  * font - 字体设定(不推荐)
  * i - 斜体
  * img - 图片
  * input - 输入框
  * kbd - 定义键盘文本
  * label - 表格标签
  * q - 短引用
  * s - 中划线(不推荐)
  * samp - 定义范例计算机代码
  * select - 项目选择
  * small - 小字体文本
  * span - 常用内联容器,定义文本内区块
  * strike - 中划线
  * strong - 粗体强调
  * sub - 下标
  * sup - 上标
  * textarea - 多行文本输入框
  * tt - 电传文本
  * u - 下划线
  * var - 定义变量

二、嵌套规则

  1. 块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。
  2. 块级元素不能放在p里面
  3. 有几个特殊的块级元素只能包含内联元素,不能包含块级元素。如h1,h2,h3,h4,h5,h6,p,dt
  4. li内可以包含div
  5. 块级元素与块级元素并列、内联元素与内联元素并列。

div 能不能嵌套在p里面##

不能,如果嵌套会导致html语义失败,看下面的例子




    
    :target pseudoclass example
    



I'm not lime :( I am lime1!I am lime2! I am lime! I'm not lime :( I'm lime :D I am also lime! I'm not lime I'm also not lime :(

I am div lime1!

正常显示的效果

可以看到,对于p元素下的所有em元素对于css中设定的伪类规则都生效了(所有em对于父类是最后一个em的,字体颜色为#4cae4c),但是当我们在代码中嵌套了一个div后的效果,我们可以看下:




    
    :target pseudoclass example
    



I'm not lime :( I am lime1!I am lime2! I am lime! I'm not lime :(

This is a div em
I'm lime :D I am also lime! I'm not lime I'm also not lime :(
I am div lime1!

HTML的块级元素和内联元素_第1张图片
嵌套div后的效果

很遗憾,在div后所有的伪类css效果都失效了。。。

引用:

  1. CSS块级元素和行内元素
  2. 从块级元素和内联元素浅谈标签的嵌套规则

你可能感兴趣的:(HTML的块级元素和内联元素)