众所周知,HTML标签有两类:

  1. 块级元素
    div、h1~h6、address、blockquote、center、dir、dl、dt、dd、fieldset、form、hr、isindex、menu、noframes、noscript、ol、p、pre、table、ul ...
    特点:总是在新行上开始,高度、行高以及顶和底边距都可控制,宽度缺省是它的容器的100%,除非设定一个宽度
    功能:主要用来搭建网站架构、页面布局、承载内容
  2. 行内元素
    span、a、abbr、acronym、b、bdo、big、br、cite、code、dfn、em、font、i、img、input、kbd、label、q、s、samp、select、small、strike、strong、sub、sup、textarea、tt、u、var ...
    特点:和其他元素都在一行上,高、行高及顶和底边距不可改变,宽度就是它的文字或图片的宽度,不可改变
    功能:用于加强内容显示,控制细节,例如:加粗、斜体等等

举个例子:

  • 块级元素

    <div>one</div><div>two</div>

    显示效果如下:

    one

    two

  • 行内元素

    <span>one</span><span>two</span>

    显示效果如下:

    onetwo

块级元素与行内元素并不是一成不变的,我们可以通过CSS来改变他的特性

display: inline; //行内元素

display: block; //块级元素

虽然HTML标签有很多并且我们在制作页面的时候可以无限的嵌套,但是嵌套也有规则,不能随意的嵌套。有些标签是固定的嵌套规则,比如ul包含li、ol包含li、dl包含dt和dd等等。还有很多是独立的标签,我们如何来使用它编写更优秀的页面,下面就说说

    1. 块级元素与块级元素平级、内嵌元素与内嵌元素平级

      <div><span></span><p></p></div>  //span是行内元素,p是块级元素,所以这个是错误的嵌套

      <div><span></span><a></a></div>  //对的

    2. 块元素可以包含内联元素或某些块元素,但内联元素不能包含块元素,它只能包含其它的内联元素

      <div><span></span></div>

      <span><span></span></span>

    3. 有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素

      h1、h2、h3、h4、h5、h6、p、dt

    4. 块级元素不能放在标签p里面
    5. li 标签可以包含 div 标签,因为li 和 div 标签都是装载内容的容器
    6. 4.button里面不要嵌套a标签,不然在js里面会有两个事件,还有就是button里面放img要记得给图片添加alt属性
    7. dt标签里面不能嵌套块级元素,只能嵌套内联元素。但是dd可以嵌套块级元素。

最新文章

  1. StringUtils中 isNotEmpty 和isNotBlank的区别
  2. #研发中间件介绍#异步消息可靠推送Notify
  3. Java基础之一组有用的类——生成日期和时间(TryDateFormats)
  4. 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.2 Create创建用户]
  5. 利用java实现一个简单的远程监控程序
  6. angular中的ng-bind-html指令和$sce服务
  7. 批处理数据--db2备份数据
  8. WPF ViewModel与多个View绑定后如何解决的问题
  9. java网络爬虫基础学习(四)
  10. Linux:Gentoo系统的安装笔记(三)
  11. 彻底搞懂CSS文本、空白换行问题
  12. SQL SERVER PIVOT与用法解释
  13. markdown的css样式(自己写的)
  14. vue项目中使用axios上传图片等文件
  15. python学习 day09 (3月14日)----函数
  16. @PathVariable获取带点参数,获取不全
  17. [CF1086E]Beautiful Matrix(容斥+DP+树状数组)
  18. c语言字符串指针
  19. java代码---indexOf()方法
  20. ionic3 cordova 调取软键盘

热门文章

  1. LoadRunner如何调用外部函数
  2. 并发和多线程(九)--AbstractQueuedSynchronizer排他锁基本原理
  3. python事件调度库sched
  4. lvs + keepalived + nginx + tomcat高可用负载反向代理服务器配置(二) LVS+Keepalived
  5. Django自带的认证系统
  6. 第一周课堂笔记5th
  7. mysql TIMESTAMP 不能为NULL
  8. tensorflow的object detection的data augmention的使用
  9. Jqgrid 序号列宽度调整
  10. 8种nosql数据库对比