当前位置: 首页 > 面试题库 >

3列布局HTML / CSS

欧阳英彦
2023-03-14
问题内容

我有以下HTML布局:

<div class="container">
   <div class="column-center">Column center</div>
   <div class="column-left">Column left</div>
   <div class="column-right">Column right</div>
</div>

是否有机会仅在 使用CSS 更改HTML的情况下 在下面的示例网格上排列列?

----------------------------------------------------
|              |                   |               |
| Column left  |   Column center   | Column right  |
|              |                   |               |
----------------------------------------------------

问题答案:

这样的事情应该做到:

.column-left{ float: left; width: 33.333%; }
.column-right{ float: right; width: 33.333%; }
.column-center{ display: inline-block; width: 33.333%; }

编辑

要使用大量列来执行此操作,您可以构建一个非常简单的网格系统。例如,这样的事情应该适用于五列布局:

.column {

    float: left;

    position: relative;

    width: 20%;



    /*for demo purposes only */

    background: #f2f2f2;

    border: 1px solid #e6e6e6;

    box-sizing: border-box;

}



.column-offset-1 {

    left: 20%;

}

.column-offset-2 {

    left: 40%;

}

.column-offset-3 {

    left: 60%;

}

.column-offset-4 {

    left: 80%;

}



.column-inset-1 {

    left: -20%;

}

.column-inset-2 {

    left: -40%;

}

.column-inset-3 {

    left: -60%;

}

.column-inset-4 {

    left: -80%;

}


<div class="container">

   <div class="column column-one column-offset-2">Column one</div>

   <div class="column column-two column-inset-1">Column two</div>

   <div class="column column-three column-offset-1">Column three</div>

   <div class="column column-four column-inset-2">Column four</div>

   <div class="column column-five">Column five</div>

</div>

或者,如果您很幸运能够仅支持现代浏览器:

.container {

    display: flex;

}



.column {

    flex: 1;



    /*for demo purposes only */

    background: #f2f2f2;

    border: 1px solid #e6e6e6;

    box-sizing: border-box;

}



.column-one {

    order: 3;

}

.column-two {

    order: 1;

}

.column-three {

    order: 4;

}

.column-four {

    order: 2;

}

.column-five {

    order: 5;

}


<div class="container">

   <div class="column column-one">Column one</div>

   <div class="column column-two">Column two</div>

   <div class="column column-three">Column three</div>

   <div class="column column-four">Column four</div>

   <div class="column column-five">Column five</div>

</div>


 类似资料:
  • 主要内容:在线实例,网站布局,HTML 布局 - 使用<div> 元素,实例,HTML 布局 - 使用表格,实例,HTML 布局 - 有用的提示,HTML 布局标签网页布局对改善网站的外观非常重要。 请慎重设计您的网页布局。 在线实例 使用 <div> 元素的网页布局 如何使用 <div> 元素添加布局。 使用 <table> 元素的网页布局 如何使用 <table> 元素添加布局。 网站布局 大多数网站会把内容安排到多个列中(就像杂志或报纸那样)。 大多数网站可以使用 <div> 或者 <ta

  • 网页布局对改善网站的外观非常重要。 请慎重设计您的网页布局。 上面的 HTML 代码会产生如下结果: HTML 布局 - 使用表格 使用 HTML <table> 标签是创建布局的一种简单的方式。 大多数站点可以使用 <div> 或者 <table> 元素来创建多列。CSS 用于对元素进行定位,或者为页面创建背景以及色彩丰富的外观。 即使可以使用 HTML 表格来创建漂亮的布局,但设计表格的目的是

  • 描述 (Description) 卡片HTML布局包含许多类,如下所示 - S.No 课程和描述 1 cards 这是卡片容器。 2 card-header 它是可选的卡片标题,用于显示卡片标题。 3 card-footer 它是可选的,用于指定其他信息或自定义链接。 4 card-content 它是卡内容的主要容器,是必需的。 5 card-content-inner 它是可选的附加内包装,用

  • 主要内容:column-count,column-fill,column-gap,column-rule,column-span,column-width,columns当需要在页面中展示大量文本时,如果每段的文本都很长,阅读起来就会非常麻烦,有可能读错行或读串行。为了提高阅读的舒适性,CSS3 中引入了多列布局模块,用于以简单有效的方式创建多列布局。所谓多列布局指的就是您可以将文本内容分成多块,然后让这些块并列显示,类似于报纸、杂志那样的排版形式,如下图所示: 图:多列布局演示 CSS3 中提

  • 在CSS3之前,要让Web页面像报纸、杂志的排版一样,呈现多列布局,你必须将内容拆分到不同的标签中,然后分别设定样式,或者使用浮动和绝对定位,或者使用JS脚本等,并且实现起来也很困难。 CSS3新增了多列布局特性,彻底改变了这样的局面,这种新语法能够让页面内容轻松地分布到多列网格中,实现类似报纸、杂志一样的排版效果,而无需任何额外的标签。 多列布局相关的核心属性包括列宽和列数、列间隙和边框、分列符

  • 问题1: box1为grid-template-columns: repeat(auto-fill, 20; grid-row-gap: 20px;的情况下没有办法1行5个? 如下图: 问题2: box2为grid-template-columns: auto auto auto auto auto;的情况下,li不足5个是,li的宽度会增多? 如下图: