CSS 中的内联级元素和内联框


内联级元素的 CSS display 属性设置为“inline”、“inline-table”或“inline-block”,这些元素不会在其上下强制换行。每个内联级元素都会生成内联级框,它是定位方案的一部分,并且包含子框。

内联框是其内容遵循内联格式化上下文的框。内联框被分成多个内联框,而那些从未被分割的内联框称为原子内联级框。

匿名内联框是开发人员无法控制的那些框。如果一个块级框包含一些纯文本和其他内联级框,则内联级框周围的纯文本遵循内联格式化上下文,并包含在匿名内联框中。

内联级与块级

内联级元素不会在其上下强制换行,并且仅占用内容所需的宽度。例如 - 跨度(<span>)、强元素(<strong>)

块级元素在其上下强制换行,并占用可用宽度,即使其内容不需要也一样。例如:分区(<div>)、标题(<h1> 到 <h6>)等。

让我们来看一个内联级框生成的示例 -

示例

在这个示例中,我们将围绕内联级元素 <em> 进行操作 -

<!DOCTYPE html>
<html>
<head>
   <title>em element</title>
   <style>
      form {
         width:70%;
         margin: 0 auto;
         text-align: center;
      }
      * {
         padding: 2px;
         margin:5px;
      }
      input[type="button"] {
         border-radius: 10px;
      }
      em{
         background-color: #FF8A00;
      }
   </style>
</head>
<body>
   <form>
      <fieldset>
         <legend>em-element</legend>
         <label for="textSelect">Formatter: </label>
         <input id="textSelect" type="text" placeholder="John Doe">
         <input type="button" onclick="convertItalic()" value="Check">
         <div id="divDisplay"></div>
      </fieldset>
   </form>
   <script>
      var divDisplay = document.getElementById("divDisplay");
      var textSelect = document.getElementById("textSelect");
      function convertItalic() {
         for(i=0; i<2; i++){
            var italicObject = document.createElement("EM");
            var italicText = document.createTextNode(textSelect.value);
            italicObject.appendChild(italicText);
            divDisplay.appendChild(italicObject);
         }
      }
   </script>
</body>
</html>

示例

在这个示例中,我们将围绕内联级元素 <span> 进行操作 -

<!DOCTYPE html>
<html>
<head>
   <title>CSS Inline-level Elements and Inline Boxes</title>
   <style>
      form {
         width:70%;
         margin: 0 auto;
         text-align: center;
      }
      * {
         padding: 2px;
      }
      input[type="button"] {
         border-radius: 10px;
      }
      .child{
         color: white;
         border: 4px solid black;
      }
      .child:nth-of-type(1){
         background-color: #FF8A00;
      }
      .child:nth-of-type(2){
         background-color: #F44336;
      }
      .child:nth-of-type(3){
         background-color: #C303C3;
      }
   </style>
</head>
<body>
   <form>
      <fieldset>
         <legend>CSS Inline-level Elements and Inline Boxes</legend>
         <div><span class="child">Orange</span> Color<span class="child">Red</span> Color<span class="child">Violet</span> Color</div><br>
      </fieldset>
   </form>
</body>
</html>

更新于: 2023-12-21

356 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告