zoukankan      html  css  js  c++  java
  • 内嵌元素、块元素、内联块的区分以及内嵌元素的问题

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

    <!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

  • 相关阅读:
    SpringMVC学习指南【笔记6】JSTL标签、函数
    SpringMVC学习指南【笔记5】EL表达式、实现免脚本JSP页面、禁用EL计算的设置
    SpringMVC学习指南【笔记4】数据绑定、表单标签库、转换器、格式化、验证器
    序列封包和序列解包
    python 字符串分割,连接方法
    Jmeter常用插件(转)
    不同的content-type,Jmeter入参不同
    性能监测(CPU)
    正则表达式
    乱码问题
  • 原文地址:https://www.cnblogs.com/twodog/p/12136344.html
Copyright © 2011-2022 走看看