HTML + CSS 连载 | 64 - 京东首页商品布局(下)

html+css.jpeg

一、京东首页商品的另一种布局

京东首页还有另一种商品布局,如下所示:

image.png

1. 搭建 HTML 基本结构

针对这种布局我们可以按照左右划分,左边两个都是整体,右边四个都进行了上下的排列,共有六个 item,首先将 HTML 结构搭建出来,具体的代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="content">
    <div class="item left">1</div>
    <div class="item left">2</div>
    <div class="item right">3</div>
    <div class="item right">4</div>
    <div class="item right">5</div>
    <div class="item right">6</div>
  </div>
</body>
</html>

接着设置 dov.content 的宽度和高度以及背景颜色,具体代码如下:

.content {
  width: 1190px;
  margin: 0 auto;
  background-color: #f00;
  heigh: 1000px
}

默认情况下这 6 个 item 是竖直排列的:

image.png

接着给每个 div.item 的设置样式,包括高度以及背景颜色,div.item 的宽度都为 290px,并设置一个统一的背景颜色:

.content .item {
  width: 290px;
  background-color: palegoldenrod;
}

左右两边的 item 的宽度一样,但是高度不一样,左边两个 div.item 的高度为 370px,右边四个 div.item 的高度为 180px,可以通过浏览器的检查工具查看到,设置具体的 CSS 样式如下:

.content .item.left {
  height: 370px;
}

.content .item.right {
  height: 180px;
}

在浏览器中打开 HTML 页面,效果如下;

image.png

当前 item 还是竖直排列的,并且 item 之间不好区分,可以接着给 div.item 设置外边距,包括下外边距和右外边距,具体代码如下:

.content .item {
  width: 290px;
  background-color: palegoldenrod;
  margin-bottom: 10px;
  margin-right: 10px;
}

刷新页面,效果如下:

image.png

这样可以清晰的看到每一个 item。

2. 设置浮动

当前所有的 item 是竖直排列的,因为所有的 item 都是 div 元素,默认 div 是块级元素会独占一行,要实现水平排列可以通过设置浮动来实现,先给 div.item 来设置浮动,具体代码如下:

.content .item {
  width: 290px;
  background-color: palegoldenrod;
  margin-bottom: 10px;
  margin-right: 10px;

  /* 设置浮动 */
  float: left;
}

刷新浏览器,效果如下:

image.png

这里出现了与上篇文章HTML + CSS 连载 | 63 - 京东首页商品布局(上)中同样的问题,即最后两个 item 会自动的移动的第二行排列,主要原因就是由于总的宽度即所有盒子自身的宽度加上右外边距的宽度超过了外层盒子 div.content 的跨度,所以才会自动换行。

这里考虑到兼容性的问题,我们可以直接使用上篇文章HTML + CSS 连载 | 63 - 京东首页商品布局(上)中的第三种解决方案,即设置一个负的外边距。

首先给所有的 item 再加一层包裹

<body>
  <div class="content">
    <div class="container">
      <div class="item left">1</div>
      <div class="item left">2</div>
      <div class="item right">3</div>
      <div class="item right">4</div>
      <div class="item right">5</div>
      <div class="item right">6</div>
    </div>
  </div>
</body>

然后在设置一个负的外边距,具体 CSS 代码如下:

.content .container {
  margin-right: -10px;
}

刷新浏览器,效果如下:

image.png

这样就实现了最初想要的效果,并且避免了兼容性的问题。

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Div CSS 页面布局——左中右版式是一种常见的网页布局方式。在这种布局中,页面被分为左侧、中间和右侧三个区域,每个区域可以分别放置内容。 在HTML中,我们可以使用div元素来创建这样的布局。首先,我们需要设置一个父div元素,并为其设置宽度,以适应整个页面的大小。然后,我们可以创建三个子div元素,分别用于左侧、中间和右侧区域。 对于左侧和右侧区域,我们可以通过设置宽度和浮动属性来控制其位置。例如,我们可以设置左侧div的宽度为25%,右侧div的宽度为25%,并将它们都向左浮动。这样,左侧和右侧的区域就会分别占据页面的左边和右边。 对于中间区域,我们可以简单地将其放在左侧和右侧区域之后。由于左侧和右侧区域都是浮动的,中间区域将会自动填充剩余的空间。 为了避免中间区域被覆盖,我们可以使用clear属性来清除浮动。我们可以在中间区域div的CSS样式中添加clear:both来确保中间区域在内容的上方和下方都没有浮动元素。 除了设置区域的宽度和浮动属性外,我们还可以使用其他CSS属性来进一步调整页面布局。例如,我们可以通过设置边距、内边距和背景颜色来美化页面。 总的来说,Div CSS 页面布局——左中右版式是一种简单而实用的布局方式,可以帮助我们将页面划分为多个区域,并在不同的区域放置不同的内容。通过灵活运用CSS属性,我们可以轻松地创建出各种漂亮的页面布局

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值