zoukankan      html  css  js  c++  java
  • 块级元素和内联元素的区别(HTML)


        请把下面二行代码放进body标签里:
        <div style=”border: 1px solid red;”>div1</div>
        <div style=”border: 1px solid red;”>div1</div>
        浏览器的呈现效果:
        div1
        div1
      这二个div占据了二行空间,叫做块级元素(block)。
      再把下面二行代码也放进body标签里:
        <span style=”border: 1px solid red;”>span1</span>
        <span style=”border: 1px solid red;”>span2</span>
      浏览器的呈现效果:
        span1 span1
      这两个span并列在一行,叫做内联元素(inline)。

    块级元素和内嵌元素的区别:
      · 块级元素 用来搭建网站架构、布局、承载内容,如:div、ul、li、dl、dt、dd、h1-h6、p、address……
           内联元素 用在文本之中的某一行的修饰,如:a、span、strong、sub、sup、img……
        · 块级元素是盒子,盒子是有宽高的,即不管里面有多少东西,外部就可以设置其宽高。
           内联元素是袋子,其宽高由里面的东西撑起来的。
      · 块级元素和内嵌元素之间互相转换,转换的代码如下:
           display:block;    /* 转成块元素 */
           display:inline;    /* 转成内嵌元素 */
      · 块级元素和内嵌元素对于CSS的调用规则:
           1. 块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素:
              <div><h1></h1><p></p></div> —— 对
              <a href=”#”><span></span></a> —— 对
              <span><div></div></span> —— 错
           2. 有几个特殊的块级元素只能包含内嵌元素,不能再包含块级元素,这几个特殊的标签是:
              h1-h6、p、dt。
              <p><ol><li></li></ol></p> —— 错
              <p><div></div></p> —— 错
         3. li内可以包含div标签/父级ul或者是ol
            li和div标签都是装载内容的容器,地位平等,没有级别之分。
         4. 块级元素与块级元素并列、内嵌元素与内嵌元素并列:
              <div><h2></h2><p></p></div> —— 对
              <div><a href=”#”></a><span></span></div> —— 对
              <div><h2></h2><span></span></div> —— 错

    注:display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。

      inline-block的元素特点:

      将对象呈递为内联对象,但是对象的内容作为块对象呈递。旁边的内联对象会被呈递在同一行内,允许空格。(准确地说,应用此特性的元素呈现为内联对象,周围元素保持在同一行,但可以设置宽度和高度地块元素的属性)

      并不是所有浏览器都支持此属性,目前支持的浏览器有:Opera、Safari在IE中对内联元素使用display:inline- block,IE是不识别的,但使用display:inline-block在IE下会触发layout,从而使内联元素拥有了 display:inline-block属性的表症。从上面的这个分析,也不难理解为什么IE下,对块元素设置display:inline- block属性无法实现inline-block的效果。这时块元素仅仅是被display:inline-block触发了layout,而它本就是行 布局,所以触发后,块元素依然还是行布局,而不会如Opera中块元素呈递为内联对象。

    努力吧,为了媳妇儿,为了家。。。
  • 相关阅读:
    EF基于方法的查询语法
    &,^,|,的简化计算与理解
    会计中阿拉伯数字变数字繁体大写
    接口对接请求方法
    经验总结之Android framework开发
    android开机过程简单描述
    为什么一个类的全局变量默认以m开头?
    使用DataOutputStream写入int类型数字不能显示
    20151128学习总结
    sky简介
  • 原文地址:https://www.cnblogs.com/jlj9520/p/5057624.html
Copyright © 2011-2022 走看看