CSS - margin-inline 属性



CSS 的 margin-inline 属性设置元素的 inline-startinline-end 边缘的外边距。它是一个简写属性,用于在一个声明中定义以下属性的值:margin-inline-startmargin-inline-endwriting-modedirection 属性定义内联方向。

语法

margin-inline: auto | length | percentage | initial | inherit;  

属性值

描述
auto 浏览器自动设置 inline-start 和 inline-end 边缘的外边距。默认值。
length 使用长度单位(例如 px、em、rem 等)设置 inline-start 和 inline-end 边缘的外边距。允许使用负值。
percentage 使用百分比值(例如 10%)设置 inline-start 和 inline-end 边缘的外边距,相对于包含元素的内联方向。
initial 将属性设置为其默认值。
inherit 从父元素继承属性。

CSS Margin Inline 属性示例

以下示例说明了使用不同值的 margin-inline 属性。

使用 Auto 值的 Margin Inline 属性

要允许浏览器根据可用空间自动计算元素的 inline-startinline-end 边缘的外边距,我们使用 auto 值。这在以下示例中显示。

示例

<!DOCTYPE html>
<html>

<head>
   <style>
      .container {
         height: 200px;
         padding: 20px;
      }

      .container>div {
         width: 150px;
         height: 200px;
         float: left;
         box-sizing: border-box;
      }

      .props {
         text-align: center;
         padding: 10px;
      }

      .auto-box {
         background-color: lightblue;
         border: 3px solid blue;
         margin-inline: auto;
      }

      .demo-box {
         background-color: #04bf52;
      }
   </style>
</head>

<body>
   <h2>
      CSS margin-inline property
   </h2>
   <h4>
      margin-inline: auto
   </h4>
   <div class="container">
      <div class="demo-box props">
         sample box
      </div>
      <div class="auto-box props">
         This box has margin-inline: auto
      </div>
      <div class="demo-box props"> 
         sample box
      </div>
   </div>
</body>

</html>

使用 Length 值的 Margin Inline 属性

要设置元素的 inline-startinline-end 边缘的外边距,我们可以使用长度单位(例如 px、em、rem 等)指定外边距大小。它最多接受两个值。根据指定的值的数量,外边距大小将应用于边缘。这在以下示例中显示。

示例

<!DOCTYPE html>
<html>

<head>
   <style>
      .container {
         height: 200px;
         width: 490px;
         padding: 20px;
      }

      .container>div {
         width: 150px;
         height: 200px;
         float: left;
         box-sizing: border-box;
      }

      .props {
         text-align: center;
         padding: 10px;
      }

      .center {
         background-color: lightblue;
         border: 3px solid blue;
      }

      .px-box {
         margin-inline: 10px;
      }

      .em-box {
         margin-inline: 10px 30px;
      }

      .demo-box {
         background-color: #04bf52;
      }
   </style>
</head>

<body>
   <h2>
      CSS margin-inline property
   </h2>
   <h4>
      margin-inline: 10px
   </h4>
   <div class="container">
      <div class="demo-box props">
         sample box
      </div>
      <div class="px-box props center">
         This box has margin-inline: 10px 
         (for both inline-start and inline-end edges)
      </div>
      <div class="demo-box props"> 
         sample box
      </div>
   </div>
   <h4>
      margin-inline: 10px 30px
   </h4>
   <div class="container">
      <div class="demo-box props">
         sample box
      </div>
      <div class="em-box props center">
         This box has margin-inline: 10px 30px 
         (for inline-start edge- 10px, for 
         inline-end edge-30px)
      </div>
      <div class="demo-box props"> 
         sample box
      </div>
   </div>
</body>

</html>

使用 Percentage 值的 Margin Inline 属性

要设置元素的 inline-startinline-end 边缘的外边距,我们可以使用百分比值(例如 10%(包含元素宽度的 10%))指定外边距大小。它最多接受两个值。根据指定的值的数量,外边距大小将应用于边缘。这在以下示例中显示。

示例

<!DOCTYPE html>
<html>

<head>
   <style>
      .container {
         height: 200px;
         width: 490px;
         padding: 20px;
      }

      .container>div {
         width: 150px;
         height: 200px;
         float: left;
         box-sizing: border-box;
      }

      .props {
         text-align: center;
         padding: 10px;
      }

      .center {
         background-color: lightblue;
         border: 3px solid blue;
      }

      .example1 {
         margin-inline: 3%;
      }

      .example2 {
         margin-inline: 2% 3%;
      }

      .demo-box {
         background-color: #04bf52;
      }
   </style>
</head>

<body>
   <h2>
      CSS margin-inline property
   </h2>
   <h4>
      margin-inline: 3%
   </h4>
   <div class="container">
      <div class="demo-box props">
         sample box
      </div>
      <div class="example1 props center">
         This box has margin-inline: 3% for 
         both the inline-start and inline-end 
         edges of the width of the container.
      </div>
      <div class="demo-box props"> 
      sample box
      </div>
   </div>
   <h4>
      margin-inline: 2% 3%
   </h4>
   <div class="container">
      <div class="demo-box props">
         sample box
      </div>
      <div class="example2 props center">
         This box has margin-inline: 2% for 
         inline-start edge and 3% for inline-end 
         edge of the width of the container.
      </div>
      <div class="demo-box props"> 
         sample box
      </div>
   </div>
</body>

</html>

带有方向的 Margin Inline 属性

margin-inline 属性可以与 direction 属性结合使用,该属性确定文本和内联元素的水平方向。如果 direction 为 ltr,则 inline-start 在左侧,inline-end 在右侧。如果 direction 为 rtl,则 inline-start 在右侧,inline-end 在左侧。这些在以下示例中显示。

示例

<!DOCTYPE html>
<html>

<head>
   <style>
      .container {
         height: 200px;
         width: 490px;
         padding: 20px;
      }

      .container>div {
         width: 150px;
         height: 200px;
         float: left;
         box-sizing: border-box;
      }

      .props {
         text-align: center;
         padding: 10px;
      }

      .center {
         background-color: lightblue;
         border: 3px solid blue;
         margin-inline: 5px 12px;
      }

      .demo-box {
         background-color: #04bf52;
      }

      .direction-rtl {
         direction: rtl;
      }

      .direction-ltr {
         direction: ltr;
      }
   </style>
</head>

<body>
   <h2>
      CSS margin-inline property
   </h2>
   <h4>
      margin-inline: 5px 10px; direction: rtl
   </h4>
   <div class="container">
      <div class="demo-box props">
         sample box
      </div>
      <div class="direction-rtl props center">
         This box has margin-inline: 5px for 
         inline-start edge and 12px for inline-end 
         edge with rtl direction.
      </div>
      <div class="demo-box props"> 
         sample box
      </div>
   </div>
   <h4>
      margin-inline: 5px 10px; direction: ltr
   </h4>
   <div class="container">
      <div class="demo-box props">
         sample box
      </div>
      <div class="direction-ltr props center">
         This box has margin-inline: 5px for 
         inline-start edge and 12px for inline-end 
         edge with ltr direction.
      </div>
      <div class="demo-box props"> sample box</div>
   </div>
</body>

</html>

带有书写模式的 Margin Inline 属性

margin-inline 属性可以与 writing-mode 属性结合使用,该属性确定文档中文本流的方向和方向。例如,在垂直模式(如 vertical-rl)中,inline-start 为顶部,inline-end 为底部。这在以下示例中显示。

示例

<!DOCTYPE html>
<html>

<head>
   <style>
      .container {
         height: 50%;
         width: 50%;
      }

      .container > div {
         writing-mode: vertical-rl;
         block-size: 100%;
         box-sizing: border-box;
      }

      .demo-box {
         background-color: #04bf52;
         inline-size: 20%;
      }

      .main-box {
         background-color: lightblue;
         inline-size: 50%;
         border: solid black 1px;
         margin-inline: 10px 30px;
      }
   </style>
</head>

<body>
   <h2>
      CSS margin-inline property
   </h2>
   <h4>
      margin-inline: 10px 30px; 
      writing-mode: vertical-rl
   </h4>
   <div class="container">
      <div class="demo-box">
         sample box
      </div>
      <div class="main-box">
         <p>
            This box has margin-inline: 10px for 
            inline-start and 30px for inline-end edges 
            with writing-mode: vertical-rl;
         </p>
      </div>
      <div class="demo-box">
         sample box
      </div>
   </div>

</body>

</html>

支持的浏览器

属性 Chrome Edge Firefox Safari Opera
margin-inline 87.0 87.0 66.0 14.1 73.0
css_properties_reference.htm
广告