block、inline和inline-block

淩亂°似流年 2021-09-28 02:22 440阅读 0赞

block、inline、inline-block

    • 行内元素和块级元素
      • block
      • inline
      • inline-block
      • 行内元素和块级元素的区别
      • 常见用法 display
      • 案例(简单实现导航栏)

行内元素和块级元素

行内元素:又叫内联元素
特点是行高以及底边距不可改变,只占内容的宽度(高度就是内容文字或者图片的宽度);
行内的元素都会在同一条直线上,也就是水平布局的;
默认不会换行(不强制换行)。

  1. 常见的行内元素有:<span>、<br>、<em>、<input>、<a>、<label>、<img>、<strong>、<select>、<textarea>、<sub>、<sup>、<small>等。

块级元素:是一个元素,占用了全部宽度,在前后都是换行符。
可以设置width、height、padding、margin等属性。

  1. 常见的块元素有:<h1~6>、<p>、<form>、<table>、<ul>、<ol>、<li>、<dl>、<hr>、<div>等。

block

block元素会独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度。
block元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行。
block元素可以设置margin和padding属性。

inline

inline元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化。
inline元素设置width,height属性无效。
inline元素的margin和padding属性,水平方向的padding-left, padding-right, margin-left, margin-right都产生边距效果;
但竖直方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果。

inline-block

简单来说就是将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。
比如我们可以给一个link(a元素)inline-block属性值,使其既具有block的宽度高度特性又具有inline的同行特性。

行内元素和块级元素的区别

  1. 1. 块级元素独自占一行且宽度会占满父元素宽度,行内元素不会独占一行,相邻行内元素可以排在同一行
  2. 2. 块级元素可以设置widthheight,行内元素设置widthheight无效,而且块级元素即使设置宽度也还是独占一行
  3. 3. 块级元素可以设置marginpadding属性,行内元素水平方向的marginpaddingmargin-leftpadding-right,可以产生边距效果,但是竖直方向的如padding-topmargin-bottom不会产生边距效果。

常见用法 display

(1)其中块级元素对应display:block
(2)行内元素对应display:inline。
(3)可以通过修改元素的display属性来切换行内元素和块级元素。
(4)display:inline-block;可以让元素具有块级元素和行内元素的特性:既可以设置长宽,可以让padding和margin生效,又可以和其他行内元素并排。

案例(简单实现导航栏)

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>other</title>
  6. <style> /*将内联元素转成块级元素 将一行变两行*/ /*span{ display: block; }*/ ul{ margin: 0 auto; text-align: center; } /*将块级元素转换成内联元素*/ ul li{ line-height: 50px; /*与height设为一致 则字体垂直居中显示*/ width: 80px; display: inline-block; height: 50px; text-align: center; background-color: greenyellow; } </style>
  7. </head>
  8. <body>
  9. <p>块级元素</p><p>lalala</p>
  10. <span style="width: 50px; float: left;">北京</span>
  11. <span>天安门</span>
  12. <br />
  13. <div style="width: 20%;float: left;">济南</div><div style="width: 20%;float: left;">泉城广场</div>
  14. <br>
  15. <b>Alubbar</b>
  16. <a href="#">超链接</a>
  17. <ul>
  18. <a href="#"><li>News</li></a>
  19. <li>Sport</li>
  20. <li>Read</li>
  21. <li>War</li>
  22. <li>Games</li>
  23. </ul>
  24. </body>
  25. </html>

导航栏

发表评论

表情:
评论列表 (有 0 条评论,440人围观)

还没有评论,来说两句吧...

相关阅读

    相关 "&""&&"、"|""||"的区别

    一、逻辑运算: 与操作:“&”表示所有的判断条件都要进行判断,“&&”如果前面的条件返回的是false,那么后面的条件将不再执行,最终的结果就是false。 或操作:“