内嵌元素、块元素、内联块的区分以及内嵌元素的问题

那么什么是块元素,什么是内嵌元素他们都有什么特征呢请看下面的代码?

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
<!--
一、块的特征
    1、默认独占一行
    2、没有宽度时,默认撑满一排
    3、支持所有css命令
        1.无默认样式:
        <div ><nav><section><header><footer>
        2.有默认样式
        <h></h>标题 margin 字体加粗 字体大小
        <p></p> 段落margin
        <dl></dl>列表maigin
        <dd></dd>列表项maigin
        <ul></ul> 无序maigin  padding
        <ol></ol>有序maigin  padding
        <li></li>列项表项 list-style:none

二、内嵌(内联、行内)的特征
    1、同排可以继续跟同类的标签
    2、内容撑开宽度
    3、不支持宽高
    4、不支持上下的margin和padding
    5、代码换行被解析
        1.无默认样式:
        <span></span>
        2.有默认样式:
           a标签 默认有颜色、下划线
           strong 默认有字体加粗,强调的意思
           em,i 默认有字体倾斜
           mark 默认有背景颜色、字体颜色
           table 默认有表格边框颜色,边框间隙
           big  默认有字体加大
           b  默认有字体加粗
           table表格边框颜色、边框间隙。
           big字体加大

三、内联块 img input
-->
        <style>
            span{
                width: 200px;
                height:200px;
                background-color: red;
                padding: 30px;
            }
            div{
                width: 200px;
                height: 200px;
                border:1px solid black;
                margin-top: 10px;
            }
            .span{
                background: blue;
                /*margin: 30px;*/
                padding: 30px;
            }
        </style>

    </head>
    <body>
        <span>内联元素不支持宽高</span>
        <div><span class="span">span1</span></div>
    </body>
</html>

我们再来了解一下他们之间是如何转换的:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <!--
            1、块转内联:display: inline;
            2、内联转块:display:block;
            3、内联块:display: inline-block;
                注意:IE67需要加.inlineB{*display: inline;*zoom: 1;}
                 IE67用*前缀;IE6用_前缀。
            inline-block特性:(1)块在一行显示
                             (2)行内属性支持宽高
                                (3)没有宽高时内容撑开宽高
                   问题:(1)内容换行被解析
                              (2)ie6,7不支持

        -->
        <style>
            .body{
                width: 700px;
                height: 400px;
                border: 1px solid #000000;
                font-size: 0;
            }
            .div1{
                display: inline;
                width: 200px;
                height:200px;
                background-color: red;
                font-size: 16px;

            }
            .span1{
                display: block;
                width: 200px;
                height:200px;
                background-color: red;
                border:10px solid yellow;
                margin-top: 70px;
                font-size: 16px;

            }
            #inlineB div,#inlineB span{
                display: inline-block;
                width: 100px;
                height: 100px;
                background: #CCCCCC;
                border: 1px solid #F0AD4E;
                font-size: 16px;

            }
            .box{
                width: 150px;
                height: 150px;
                background-color: red;
                border: 1px solid black;
                display: inline-block;
                *display: inline;
                *zoom: 1;
                font-size: 16px;
            }
        </style>
    </head>
    <body>
        <div class="body">
            <div class="div1">div1</div>
            <span  class="span1">span1</span>
        </div>
        <div id="inlineB"  class="body">
            <div>div2</div>
            <span>span2</span>
        </div>
        <div class="body">
            <div class="box">box1</div>
            <div class="box">box2</div>
        </div>
    </body>
</html>

最后我们来看一下内嵌元素的问题:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
        /*
         1、内联换行被解析出一个字体的间距,解决方法是给父集加font-size:0;自己重新设置字体。

        */
            #box1 span,#box1 div{
                width: 200px;
                height: 200px;
                border:1px solid black;
                background-color: red;
                margin-right: 100px;
                margin-bottom: 10px;
            }
            #box2{
                font-size: 0;
            }
            #box2 span{
                border:1px solid red;
                font-size: 16px;
            }
        </style>
    </head>
    <body>
        <div id="box1">
            <span>span1</span>
            <span>span2</span>
            <hr />
            <span>span1</span>
            <div></div>
        </div>

        <div id="box2">
            <span>span1</span><span>span2</span><span>span3</span>
            <hr />
            <span>span1</span>
            <span>span2</span>
            <span>span3</span>
        </div>
    </body>
</html>

原文地址:https://www.cnblogs.com/xiangxuemei/p/9392075.html

时间: 2024-10-08 18:20:25

内嵌元素、块元素、内联块的区分以及内嵌元素的问题的相关文章

web兼容学习分析笔记--块级、内联、内联块级元素

一.块级.内联.内联块级元素 (1)块级元素:block **独占一行 **可设置width,height,margin,padding **内部可包含块级或内联元素 (3)内联(行内)元素:inline **和其他inline元素同行显示 **可以设置margin-left,margin-righ,padding-left,padding-right, **无效设置widht,height,margin-top,margin-bottom,padding-top,padding-bottom

html的块级、内联、内联块级元素基础

概念 块级:block 内联:inline 内联块级:inline-block 在html元素中,元素会有display属性 display属性默认值是block,那么该元素是块级元素. display属性默认值是inline,那么该元素是内联元素. 没有元素的display默认值是inline-block. display属性值可以被设置,比如可以把块级元素div的display的值设成inline,那么它就变成了内联元素,不再独行显示. 特征 1.块级元素 独占一行. 可设置width,he

18 12 27 css 盒模型使用 以及相关技巧问题 元素溢出 块元素、内联元素、内联块元素

盒子模型的实际尺寸 盒子的width和height设置的是盒子内容的宽和高,不是盒子本身的宽和高,盒子的真实尺寸计算公式如下: 盒子宽度 = width + padding左右 + border左右 盒子高度 = height + padding上下 + border上下 margin相关技巧 1.设置元素水平居中: margin:x auto;2.margin负值让元素位移及边框合并 外边距合并 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的外边距的高度等于两个发生合

3.3 块元素 内联元素 内联块元素

元素就是标签,布局中常用的有三种标签,块元素 .内联元素.内联块元素 3.3.1 块元素 块元素,也可以称为行元素,布局中常用的标签有:div \ p\ ul\ li \h1-h6\ dl\ dt\ dd等都是块元互:它在布局中的行为: a.支持全部的样式 b.如果没有设置宽度,那么默认的宽度为父级宽宽的100% c.盒子占据一行,即使设置了宽度 3.3.2 内联元素 内联元素,也可以称为行内元素,布局中常用的标签如:a  pan  em  b  strong  i等,它们在布局中的行为: a.

html -- 块元素、内联元素、内联块元素 练习

html标签(也叫元素)大概可以统分为三大类,块元素.内联元素.内联块元素. 块元素 1,常用的块元素:ul.li.div.p.dl.dt.dd.h1~h6. 2,块元素支持所有的样式. 3,盒子独占据一行,即使设置了宽度. 4,如果没有设置宽度,默认宽度为父元素的100%. 内联元素 1,常用的内联元素:span.a.em.i.b.strong. 2,只支持部分样式,比如说,不支持宽.高.margin上下.padding上下. 3,盒子并在一行. 4,宽高由内容挣开. 5,如果代码换行,盒子之

HTML中块状,内联内联块元素区分

html的元素可分为三种:块状,行内,内联块 1.块状元素特点:1)一个块级元素独占一行2)元素的高度,宽度,行高以及顶部和底部边距都可以设置3)元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致)除非设定一个宽度如:div,h标签,p,form,ul,li 2.内联元素(行内元素)特点:1)和其他元素都在一行上2)元素的高度.宽度以及顶部和底部边距不可以设置3)元素的宽度就是它包含的文字或图片的宽度,不可改变如:span,a,i,em,strong 3.内联块元素就是同时具

HTML中为何p标签内不可包含div标签?那哪些块元素里面不能放哪些块元素呢?

先看下面的例子你就能明白两者的差别: <p>测试一下块元素与<span>内联元素</span>的差别</p> <p>测试一下<div>块元素</div>与内联元素的差别</p> 在上面的例子中,<div>会自己产生一个新的行,而<span>并没有换行,这是在没有CSS渲染的情况下才这样,同样,我们也可以通过CSS把div定义成内联元素,把span定义成块元素,但是,我们却不能在HTML里

水平居中——行内元素、定宽块、不定宽块

声明:来自http://www.imooc.com/learn/9 学习 行内元素 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的. 定宽块状元素 满足定宽和块状两个条件的元素是可以通过设置“左右margin”值为“auto”来实现居中的. 1 margin:0 auto; 不定宽块状元素 不定宽度的块状元素有三种方法居中(这三种方法目前使用的都比多): 加入 table 标签 设置 display;inline 方法 设置 po

内联块inline-block的垂直间隙问题

问题背景:移动端编程里面的左右按钮布局,没有用表布局,而用了浮动(为了让2个各占一半宽度的按钮排列在一行),由于浮动元素脱离了原本的文档流,导致父元素(块元素)所占高度为0,当父元素的display属性设置成内联块inline-block时,惊奇的发现它能占用浮动元素的高度了,但是用了一段时间之后发现它有个缺点,就是底部多出一部分空隙,不知道怎么干掉,而这两个按钮恰好要放到底部,不允许下面还有空隙,代码如下. <style type="text/css"> .box1 {