如何创建3列布局使用CSS而不使用网格(为ie 10兼容性)

au9on6nz  于 2023-06-07  发布在  其他
关注(0)|答案(2)|浏览(356)

如何转换下面的HTML,类似的图像?不要将元素 Package 在另一个div中。我的目的是改变每个元素的位置,左,右或顶部使用css只。这可能吗?

<div class="container">
        <div class="left">1</div>
        <div class="left">2</div>
        <div class="left">3</div>
        <div class="left">4</div>
        <div class="right">5</div>
        <div class="center">6</div>
        <main class="main-content"></main>
    </div>

nqwrtyyt

nqwrtyyt1#

**编辑2:仅仅使用HTML和CSS来移动和排列元素几乎是不可能的。可能有一个解决方案,但最有效的方法是使用jQuery appendTo()函数。

这篇文章可能对你很有用:How to move an element into another element?

**编辑:我最近知道你在找什么了。我会尽快为您的问题找到答案。

根据你的例子,你可以通过创建3列(在我的代码中,我使用了div和**“column”class)并应用display来实现这一点:内联块;**,以确保合并后的列的总和不会高于99%。

显示:inline-block将尝试使用父容器的整个宽度,而不会溢出内容。当宽度大于99%时,将最后一列发送到下一行。
HTML

<div class="column one-fourth">
  <div><p>1.1</p></div>
  <div><p>1.2</p></div>
  <div><p>1.3</p></div>
</div>
<div class="column two-fourth">
  <div><p>2.1</p></div>
  <div><p>2.2</p></div>
</div>
<div class="column one-fourth">
  <div><p>3.1</p></div>
  <div><p>3.2</p></div>
  <div><p>3.3</p></div>
  <div><p>3.4</p></div>
</div>

CSS

.column {
  text-align: center;
  vertical-align: top;
  padding: 10px 0px;
  display: inline-block;
  width: 100%;
}

@media only screen and (min-width: 900px) {
.column.one-fourth { width: 24.75%; }
.column.two-fourth { width: 49.5%; }
}

.column div {
  background: red;
  margin: 10px;
}

.column p {
  color: white;
  font-weight: bold;
  font-size: 50px;
  margin: 0px;
}

下面是一个代码Pen来看看它是如何工作的:https://codepen.io/ialexandru/pen/NWPzRZj

xcitsw88

xcitsw882#

div.container {
  width:100%;
  position:relative;
  height:100%
}
.col {
   min-heght:20px;
   float: left;
}
.col-inner {
  padding: 10px;
  background: gray;
}
.col-60 .col-inner {
  padding: 10px;
  background: blue;
}
.col-20{
  width:20%;
  position:relative;
  line-height: 60px;
   
}
.col-60{
 width:60%;
 position:relative;
 line-height: 60px;
}
.item {
    border: 1px solid;
    margin: 2px;
    text-align: center;
    min-height: 60px;
    border-radius: 5px;
    vertical-align:middle;
    background: #ddd;
}
.main-contain{
  min-height: 200px;
  line-height: 2000px;
}
<div class="container">
    <div class="col col-20">
        <div class="item">1</div>
        <div class="item">2</div>
        <div class="item">4</div>
    </div>
    <div class="col col-60">
        <div class="item">6</div>
        <div class="item main-contain">main</div>
    </div>  
     <div class="col col-20">
          <div class="item">3</div>
          <div class="item">5</div>
     </div> 
</div>

相关问题