CSS 数据类型 - <display-inside>



CSS <display-inside> 数据类型决定元素的内部显示方式,它为非替换元素指定了格式化上下文类型。这些关键字定义了 `display` 属性的值。它们可以作为旧版浏览器的单个关键字使用,也可以与来自 <display-outside> 关键字的值一起使用。

可能的值

  • flow-root − 它为元素创建一个新的块级格式化上下文。

  • table − 元素本身成为一个类似于 HTML 表格的块级容器。

  • flex − 元素作为块级元素工作,并根据 Flexbox 模型排列其内容。

  • grid − 元素作为块级元素工作,并根据 Grid 模型排列其内容。

语法

<display-inside>: flow-root | table | flex | grid;

CSS <display-inside> - flow-root

下面的例子演示了display: flow-root 属性如何创建一个块级格式化上下文并包含浮动元素:

<html>
<head>
<style>
   .container {
      display: flow-root;
      border: 2px solid blue;
      padding: 10px;
   }
   .float-left {
      float: left;
      height: 30px;
      width: 50%;
      background-color: pink;
   }
   .float-right {
      float: right;
      height: 30px;
      width: 50%;
      background-color: yellow;
   }
</style>
</head>
<body>
   <div class="container">
      <div class="float-left">Floating Left</div>
      <div class="float-right">Floating Right</div>
   </div>
</body>
</html>

CSS <display-inside> - table

下面的例子演示了display: table 属性如何将元素定义为表格:

<html>
<head>
<style>
   .table-container {
      display: table;
      width: 100%;
      border-collapse: collapse;
      background-color: pink;
   }
   .row {
      display: table-row;
   }
   .column {
      display: table-cell;
      border: 2px solid blue;
      padding: 5px;
   }
</style>
</head>
<body>
   <div class="table-container">
      <div class="row">
         <div class="column">Row 1, Column 1</div>
         <div class="column">Row 1, Column 2</div>
         <div class="column">Row 1, Column 3</div>
      </div>
      <div class="row">
         <div class="column">Row 2, Column 1</div>
         <div class="column">Row 2, Column 2</div>
         <div class="column">Row 2, Column 3</div>
      </div>
   </div>
</body>
</html>

CSS <display-inside> - flex

下面的例子演示了display: table 属性如何将元素定义为表格元素:

<html>
<head>
<style>
   .flex-container {
      display: flex; 
      align-items: center; 
      height: 50px; 
      padding: 5px;
      gap: 5px;
      background-color: red;
   }
   .flex-item {
      padding: 10px;
      border: 2px solid green;
      background-color: yellow;
   }
</style>
</head>
<body>
   <div class="flex-container">
      <div class="flex-item">Flex Item 1</div>
      <div class="flex-item">Flex Item 2</div>
      <div class="flex-item">Flex Item 3</div>
   </div>
</body>
</html>

CSS <display-inside> - grid

下面的例子演示了display: grid 属性如何创建一个包含三列两行的基本网格布局:

<html>
<head>
<style>
   .grid-container {
      display: grid;
      grid-template-columns: 100px 100px 100px; 
      grid-template-rows: 50px 50px; 
      gap: 5px; 
      align-items: center;
      background-color: pink;
      padding: 5px;
   }
   .grid-item {
      background-color: yellow;
      padding: 10px;
      text-align: center;
      border: 3px solid red;
   }
</style>
</head>
<body>
   <div class="grid-container">
      <div class="grid-item">Grid Item 1</div>
      <div class="grid-item">Grid Item 2</div>
      <div class="grid-item">Grid Item 3</div>
      <div class="grid-item">Grid Item 4</div>
      <div class="grid-item">Grid Item 5</div>
      <div class="grid-item">Grid Item 6</div>
   </div>
</body>
</html>
广告