CSS 布局 - display: inline-block


display: inline-block

display: inline 相比,主要区别在于 display: inline-block 允许在元素上设置宽度和高度。

同样,如果设置了 display: inline-block,将保留上下外边距/内边距,而 display: inline 则不会。

与 display: block 相比,主要区别在于 display:inline-block 在元素之后不添加换行符,因此该元素可以位于其他元素旁边。

下例展示 display: inline、display: inline-block 以及 display: block 的不同行为:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. span.a {
  6. display: inline; /* the default for span */
  7. width: 100px;
  8. height: 100px;
  9. padding: 5px;
  10. border: 1px solid blue;
  11. background-color: yellow;
  12. }
  13. span.b {
  14. display: inline-block;
  15. width: 100px;
  16. height: 100px;
  17. padding: 5px;
  18. border: 1px solid blue;
  19. background-color: yellow;
  20. }
  21. span.c {
  22. display: block;
  23. width: 100px;
  24. height: 100px;
  25. padding: 5px;
  26. border: 1px solid blue;
  27. background-color: yellow;
  28. }
  29. </style>
  30. </head>
  31. <body>
  32. <h1>display 属性</h1>
  33. <h2>display: inline</h2>
  34. <div>武汉,简称“汉”,别称江城,是湖北省省会,中部六省唯一的副省级市,特大城市,中国中部地区的中心城市,全国重要的工业基地、科教基地和综合交通枢纽。 欢迎来到 to <span class="a">武汉</span>!</div>
  35. <h2>display: inline-block</h2>
  36. <div>武汉,简称“汉”,别称江城,是湖北省省会,中部六省唯一的副省级市,特大城市,中国中部地区的中心城市,全国重要的工业基地、科教基地和综合交通枢纽。 Welcome to <span class="b">武汉</span>!</div>
  37. <h2>display: block</h2>
  38. <div>武汉,简称“汉”,别称江城,是湖北省省会,中部六省唯一的副省级市,特大城市,中国中部地区的中心城市,全国重要的工业基地、科教基地和综合交通枢纽。 Welcome to <span class="c">武汉</span>!</div>
  39. </body>
  40. </html>

使用 inline-block 来创建导航链接

display 的一种常见用法:inline-block 用于水平而不是垂直地显示列表项。下例创建了一个水平导航链接:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. .nav {
  6. background-color: yellow;
  7. list-style-type: none;
  8. text-align: center;
  9. margin: 0;
  10. padding: 0;
  11. }
  12. .nav li {
  13. display: inline-block;
  14. font-size: 20px;
  15. padding: 20px;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <h1>水平导航链接</h1>
  21. <p>默认地,列表项是垂直显示的。在本例中,我们使用 display: inline-block 来水平地显示它们(并排)。</p>
  22. <p>注释:如果您调整浏览器的大小,链接会在变得拥挤时自动换行。</p>
  23. <ul class="nav">
  24. <li><a href="#home">首页</a></li>
  25. <li><a href="#about">关于我们</a></li>
  26. <li><a href="#clients">客户案例</a></li>
  27. <li><a href="#contact">联系我们</a></li>
  28. </ul>
  29. </body>
  30. </html>