zoukankan      html  css  js  c++  java
  • css学习笔记----深刻理解块级元素和内联元素

    前言

    因为之前学习css时候急于求成,学习的很不扎实,对于display还有块级元素等知识都了解的非常模糊,于是,最近我决定来恶补一下。

    其实块级元素、内联元素和display有着密不可分的关系,下面先看一下display的三个相关的属性。

    一、display

      display跟块级元素相关的包括以下三个属性  block,inline,inline-block三个属性。(当然还包括很多其他的属性,详情请见 http://www.w3school.com.cn/cssref/pr_class_display.asp)

    1 display:block;
    2 display:inline;
    3 display:inline-block;

      每次看到这几个我就很晕啦,不懂这个其实就是因为我没有深刻的理解 块级元素和内联元素 之间的区别。(之前只是知道对于标签有着两种分类方法)




    以下摘自慕课网(点击为原文链接)。

     

    对于下面的好看的边框代码
    1
    border:1px solid #bbe1f1;background:#eefaff; 2 border:1px solid #9bdf70;background:#f0fbeb; 3 border:1px solid #a5b6c8;background:#eef3f7;

    什么是块级元素?在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是块级元素。设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。

    a{display:block;}

    块级元素特点:

    1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)

    2、元素的高度、宽度、行高以及顶和底边距都可设置。

    3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

     

    在html中,<span>、<a>、<label>、 <strong> 和<em>就是典型的内联元素行内元素)(inline)元素。当然块状元素也可以通过代码display:inline将元素设置为内联元素。如下代码就是将块状元素div转换为内联元素,从而使 div 元素具有内联元素特点。

     div{
         display:inline;
     }
    
    ......
    
    <div>我要变成内联元素</div>

    内联元素特点:

    1、和其他元素都在一行上;

    2、元素的高度、宽度及顶部和底部边距不可设置;

    3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

    小伙伴们你们观查一下右侧代码段,有没有发现一个问题,内联元素之间有一个间距问题,这个问题在本小节的 wiki 中有介绍,感兴趣的小伙伴可以去查看。

     

    内联块状元素(inline-block就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。(css2.1新增),<img>、<input>标签就是这种内联块状标签。

    inline-block 元素特点:

    1、和其他元素都在一行上;

    2、元素的高度、宽度、行高以及顶和底边距都可设置。

    提示:下一小节是用视频动画来讲解css中的盒模型。




    上面完全是摘抄出来的,那么我个人来总结一下:

    块级元素就是  1.霸占一整行(像是多了个<br>标签)          2.可以自行设置高度和宽度

    内联元素就是  1.一个挨着一个(对比上面没有,更正常一点) 2.不能自己更改高度宽度

    那么,有些时候内联元素我就是想更改高度和宽度怎么办,那么就要用到display:block;,这样呢,就能更改高度和宽度啦。还有个办法,就是设置inline-block,感觉这个属性就是内联元素增加了block一样。

  • 相关阅读:
    software 的魅力
    CSS中,脚本不能覆盖CSS的!!!
    取消自增ID.
    [求教]FF与IE 的Style 不兼容问题?
    SQL存储过程 之 sp_MSforeachtable和sp_MSforeachDB
    疑问:AddWebPart 不能添加动态加载的自定义控件吗?
    关于 各语言的 readonly。
    查询存储过程中的结果集.(顺便贴:一行折多行的方法)
    附一张css hack
    远程桌面dos开启
  • 原文地址:https://www.cnblogs.com/weiweitodo/p/5478481.html
Copyright © 2011-2022 走看看