block与inline 元素

最近在看网页的布局,类型很多,

  • table布局
  • div+css布局
  • flex(弹性布局)
  • ……

哈哈,刚学到经典的div+css布局,block与inline是一个必须区分的知识点。

在正常模式下:

block元素

  1. 总是在新行上开始;
  2. height, line-height, margin和padding都可控制;
  3. width缺省是它的容器的100%,除非设定一个宽度,但不影响他在新行显示
  4. 它可以容纳内联元素和其他块元素,每个元素有每个元素的特点

在底版(请允许我这么定义)上排版时,不可通过调整盒子的大小来达到并排显示的目的,调整盒子大小的方法包括设置padding、margin等策略实现。

inline元素

  1. 和其他元素都在一行上;
  2. width就是它的文字或图片的宽度,不可设置;height不可设置,字体大小取决于font-size;
  3. **line-height可以设置, 调整行的高度;
  4. 对于box model,margin和padding 左右可以设置,但上下距离不可设置;border可以设置宽度和颜色;**
  5. 内联元素只能容纳文本或者其他内联元素,很严格的规定,请务必遵守。

可以通过设置css格式dispaly来改变块与行的属性,值为inline和block。

底版下的测试

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        <title>
            行元素和块元素的互换
        </title>
        <style type="text/css" >
                div,span
                {
                    border-width:1px;
                    border-color:red;
                    border-style:solid;
                    margin:2px;
                }

        </style>
    </head>
    <body>
        <div>
            div1
        </div>
        <div>  
            div2
        </div> 
        <span>
            span1
        </span>
        <span>
            span2
        </span> 
        <br> 
        <div style="display:inline">
            div3
        </div> 
        <div style="display:inline">
            div4
        </div> 
        <span style="display:block">
            span3
        </span> 
        <span style="display:block">
            span4
        </span>
    </body>
</html>

对inline下面属性的测试

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8" />
        <title>
            相邻元素的距离
        </title>
        <style type="text/css" >
                div{
                    margin: 2px;
                }
                span
                {
                    border:5px solid red;
                    margin:10px;
                    width: 20px;
                    line-height:3em;
                    font-size: 10px;
                }
                #id1
                {
                    border:5px solid red;
                    margin-bottom:10px;
                }
                #id2
                {
                    border:5px solid red;
                    margin-top:15px;
                }

        </style>
    </head>
    <body>
        <div><span>
            span1
        </span>
        <span>
            span2
        </span> 
    </div>
        <div id="id1">
            div1
        </div>
        <div id="id2">
            div2
        </div>
    </body>
</html>

在float模式下:

块元素变得与底版下的inline元素相同。

区别

  1. 块级元素一般用来搭建网站架构、布局、承载内容。
  2. 内联元素一般用来在网站内容中的某些细节或者部位,用以“强调、区分样式、上标、下标、锚点”等等。
  3. 它们可以互相转换。display:inline|block
  4. 块级元素的特点:每一个块级元素都识从一个新行开始显示,其后的元素需要另起一行。

嵌套规则

  1. 块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。
  2. 有几个特殊的块级元素只能包含内联元素,不能包含块级元素。如h1,h2,h3,h4,h5,h6,p,dt
  3. <li>内可以包含<div><li>元素的规则很宽松,可以添加文本,inline 和block。
  4. 块级元素与块级元素并列、内联元素与内联元素并列。错误的(<div><h2></h2><span></span</div>
  5. 只有<li>元素允许放在<ul><ol>元素里。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值