1. 程式人生 > 其它 >對行內元素設定padding和margin不起作用

對行內元素設定padding和margin不起作用

技術標籤:csshtmlcss

前言

看了表嚴肅表哥的電商網站專案,自己動手親自實現了一遍,前前後後遇到了幾個問題,特此總結一下。


1、問題

無論是padding還是margin,都只有left和right起作用,top和bottom不起作用,示例如下:

程式碼

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet"
href="test.css" type="text/css">
<style> div { background-color: black; width: 300px; height: 50px; } .b { padding: 20px; } </style> </head> <body> <div></div> <span>
aaaaaaaa</span> <span class="b">bbbbbbbb</span> <span>ccccccc</span> <div></div> </body> </html>

顯示結果:

可見只有padding-left和right在起作用,那麼如何讓padding-top和bottom也起作用呢?

2、解決方案

答:將行內元素變為塊級元素即可(margin同)。如下:
程式碼:

<!DOCTYPE html>
<
html
lang="en" dir="ltr">
<head> <meta charset="utf-8"> <link rel="stylesheet" href="test.css" type="text/css"> <style> div { background-color: black; width: 300px; height: 50px; } .b { display: inline-block; padding: 20px; } </style> </head> <body> <div></div> <span>aaaaaaaa</span> <span class="b">bbbbbbbb</span> <span>ccccccc</span> <div></div> </body> </html>

顯示結果:
在這裡插入圖片描述