如何使用固定宽度右列创建双列 Div 布局?


<div> 元素是 HTML 中使用最广泛的元素之一。“<div>” 指的是将页面划分为若干部分的容器。这些部分对于将元素组合在一起非常有用。<div> 元素本身并不具有视觉表示,但是当我们想要将自定义样式应用于 HTML 元素时,它们非常有用。它们允许我们对元素进行分组,以便对内部所有元素应用相同的样式。我们也可以设置整个 <div> 元素的样式。使用 class 或 id 属性进行样式设置很简单。

示例

这是一个简单的示例,展示了 div 标签的用途。

<html>
<head>
<style>
.div1{
    background-color:lightblue;
    width:300px;
    height:75px;
    margin-bottom:-16px;
}
.div2{
    background-color:lightpink;
    width:300px;
    height:30px;
    margin:0px;
}
</style>
</head>
<body>
<div class="div1">
    <p>DIV 1</p>
</div>
<div class="div2">
    <p>DIV 2</p>
</div>
</body>
</html>

我们也可以有两个 div 元素彼此相邻。这被称为**双列 div** 布局。这可以使用 CSS **float** 属性实现。

CSS float 属性将元素定位在其容器的左侧或右侧,允许文本和内联元素环绕它。元素从页面的正常流程中移除,但它仍然保留在流程中。float 属性指定为来自值的列表中的单个关键字,即 left、right、none、inline-start 和 inline-end。

示例

下面的示例显示了使用 float 属性创建双列 div 布局。

<html>
<head>
<style>
.div1{
    background-color:lightblue;
    width:300px;
    height:75px;
    margin-bottom:-16px;
    float:left;
}
.div2{
    background-color:lightpink;
    width:100%;
    height:75px;
    margin:0px;
}
</style>
</head>
<body>
<div class="container">
<div class="div1">
    <p>DIV 1</p>
</div>
<div class="div2">
    <p>DIV 2</p>
</div>
</div>
</body>
</html>

div 元素的高度和宽度可以根据需要调整,也可以固定为某个尺寸。

在本教程中,我们将讨论一种创建双列 div 布局的方法,其中右列具有固定宽度。

使用 CSS float 和 width 属性

如前所述,float 属性用于内容的定位和格式化。它可以用来将任何内联元素环绕指定的 HTML 元素,例如列表、段落、div、span、表格、iframe 和块引用。

width 属性指定元素的宽度。默认情况下,它确定内容区域的宽度,但是如果 box-sizing 设置为 border-box,则它确定边框区域的宽度。

我们可以通过设置右列的 float 和 width 属性来创建双列 div 布局,同时确保左列没有宽度和 float。

示例

在下面的示例中,我们将右列的 float 属性设置为 right,以便它以预定义的固定宽度浮动到容器的右侧。左列的宽度设置为 auto,允许浏览器计算宽度。

<!DOCTYPE html>
<html>
  <head>
    <title>
        How to Create a Two-Column Div Layout with the Right Column Having Fixed Width?
    </title>
    <style>
      body{
          margin:20px;
      }
      .container {
        height: auto;
        overflow: hidden;
      }
      .div2 {
        width: 150px;
        height:50px;
        float: right;
        background: darkcyan;
      }
      .div1 {
        height:50px;
        width: auto;
        overflow: hidden;
        background:turquoise;
      }
      p{
          margin-top:15px;
          margin-left:20px;
          font-size:20px;
          color:white;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <div class="div2">
          <p>DIV 2</p>
      </div>
      <div class="div1">
          <p>DIV 1</p>
      </div>
    </div>
  </body>
</html>

上面的示例需要将右列放在左列之前。但是,如果我们想遵循正确的**HTML 标记**,我们可以尝试下面的示例。

示例

下面的示例帮助我们在不调整 HTML 标记的情况下创建双列 div 布局。

<html>
  <head>
    <title>How to Create a Two-Column Div Layout with the Right Column Having Fixed Width?
    </title>
    <style>
      body{
          margin:30;
          background:lightblue;
      } 
      .container {
        width: 100%;
        background: lavender;
        float: left;
        margin-right: -200px;
      }
      .div1 {
        background: lavenderblush;
        margin-right: 155px;
        border:3px solid purple;
      }
      .div2 {
        width: 150px;
        float: right;
        border:3px solid purple
      }
      p{
          margin-left:10px;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <div class="div1">
        <p>DIV 1</p>
      </div>
    </div>
    <div class="div2">
      <p>DIV 2</p>
    </div>
  </body>
</html>

更新于:2023年9月11日

602 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告