2022-03-11 html网页布局练习(三):使用position定位+rem进行网页布局

本文详细介绍了响应式网页设计的实践,包括原型图展示、使用position属性进行元素定位(如顶部logo、搜索框、导航栏等),以及rem单位的应用。通过实例展示了如何创建自适应布局,如轮播图、内容卡片和不同区域的定位。
摘要由CSDN通过智能技术生成
原型图

https://s3.bmp.ovh/imgs/2023/02/10/e0ca823ed4b47297.jpg

页面结构
  • 网页由顶部top(包含logo和搜索框)+头部header(包含导航栏)+轮拨图banner+主体内容main+市场项目section+底部footer(包含版权信息等)
  • 使用position子绝父相进行定位,注意到只需要一个最外面的父元素设置绝对定位,其若干层子元素都可以设置相对定位
  • 使用rem相对单位代替px,在VSCode应用商店中下载cssrem插件
完整代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>TREVISO</title>
  <link rel="stylesheet" href="./font/iconfont.css">
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    html {
      width: 100%;
      height: 100%;
      background: rgb(222, 222, 250);
      font-size: 16px;
    }

    body {
      width: 84.0625rem;
      height: 100%;
      background: rgb(187, 183, 184);
      margin: 0 auto;
    }

    ul,
    li {
      list-style: none;
    }

    /* 1.top */
    #top {
      width: 100%;
      height: 6.25rem;
      background: #fff;
      position: relative;
    }

    #top>* {
      position: absolute;
      bottom: 2.125rem;
    }

    #top>img {
      width: 10.25rem;
      left: 11.375rem;
    }

    #top>span {
      left: 22.25rem;
      top: 1.9rem;
      font-size: 2.375rem;
      font-family: Arial, Helvetica, sans-serif;
    }

    #top>input {
      width: 14.5rem;
      height: 2rem;
      border: none;
      background: #f1f1f1;
      right: 12.6875rem;
      text-indent: 1rem;
    }

    #top>.iconfont {
      color: #626262;
      top: 2.55rem;
      right: 13.25rem;
      z-index: 999;
      font-size: 1rem;
    }

    /* 2.header */
    header {
      width: 100%;
      height: 3.75rem;
      background: #2f2f2f;
    }

    header ul {
      width: 100%;
      height: 3.75rem;
      position: relative;
    }

    header li {
      position: absolute;
      font-size: .75rem;
      color: #fff;
      top: 1.375rem;
    }

    header li:nth-child(1) {
      left: 13.75rem;
    }

    header li:nth-child(2) {
      left: 21.25rem;
    }

    header li:nth-child(3) {
      left: 28.75rem;
    }

    header li:nth-child(4) {
      left: 36.25rem;
    }

    header li:nth-child(5) {
      left: 42.75rem;
    }

    header li:nth-child(6) {
      left: 50.25rem;
    }

    header li:nth-child(7) {
      left: 57.75rem;
    }

    header li:nth-child(8) {
      left: 65.25rem;
    }

    /* 4.main */
    main {
      height: 34.25rem;
      background: #fff;
      position: relative;
    }

    /* 4.1.companyNews */
    .companyNews,
    .companyInfo,
    .zhaopin {
      position: absolute;
      width: 15rem;
      height: 15rem;
    }

    .companyNews {
      width: 30rem;
      left: 11.875rem;
    }

    .companyInfo {
      background: #f1f1f1;
      left: 41.375rem;
    }

    .companyInfo>* {
      position: absolute;
      left: 1.375rem;

    }

    .zhaopin {
      background: #fbfbfb;
      left: 56.375rem;
    }

    .companyNews>ul {
      position: absolute;
      bottom: 1.5rem;
    }

    .companyNews>ul>li>span {
      color: #a6a6a6;
      font-size: .75rem;
    }

    .companyNews>ul>li>span:nth-child(3) {
      position: absolute;
      width: 4.375rem;
      left: 22.375rem;
    }

    .mainTitle {
      font-size: 1.125rem;
      color: #414550;
      position: absolute;
      top: 2.375rem;
    }

    /* 4.2.companyInfo */
    .infoData {
      position: absolute;
      height: 100%;
      width: 11.875rem;
      top: 5.75rem;
    }

    .infoData>* {
      font-size: .625rem;
      color: #b9b9b9;
    }

    .infoData>p:nth-child(1) {
      color: #565656;
      font-size: .8rem;
    }

    .infoData>p:nth-child(2) {
      color: #565656;
      position: absolute;
      top: 1.625rem;
    }

    .infoData>p:nth-child(3) {
      position: absolute;
      top: 3.9375rem;
    }

    .infoData>p:nth-child(4) {
      position: absolute;
      top: 5.5rem;
    }

    /* 4.3.zhaopin */
    .zhaopin>* {
      position: absolute;
      left: 1.625rem;
    }

    .zhaopin p {
      font-size: .625rem;
      top: 5.125rem;
    }

    .zhaopin p:nth-child(2) {
      top: 6.5rem;
    }

    .zhaopin .more {
      top: 9rem;
      width: 4.125rem;
      height: 1.25rem;
      border-radius: 5%;
      color: #fff;
      background: #b0b0b0;
      font-size: .5rem;
      line-height: 1.25rem;
      text-indent: .5rem;
    }

    .zhaopin img {
      position: absolute;
      left: 6.375rem;
      bottom: 0;
    }

    /* 4.4.marketProject */
    .marketProject {
      position: absolute;
      width: 100%;
      height: 19.25rem;
      bottom: 0;
    }

    .marketProject>* {
      width: 100%;
      position: absolute;
      left: 11.5rem;
    }

    .marketBox {
      left: 0;
      bottom: 2.25rem;
      width: 100%;
      height: 11.875rem;
    }

    .marketBox>.box {
      position: absolute;
      width: 13rem;
      height: 11.875rem;
      bottom: 0;
      font-size: .75rem;
    }

    .box {
      height: 1.5rem;
      line-height: 1.5rem;
    }

    .box1 {
      left: 11.4375rem;
    }

    .box2 {
      left: 26.875rem;
    }

    .box3 {
      left: 42.75rem;
    }

    .box4 {
      left: 58.25rem;
    }

    /* 5.section */
    section {
      width: 100%;
      height: 15.625rem;
      background: #e5e5e5;
      position: relative;
    }

    section>* {
      position: absolute;
      height: 10rem;
      top: 2rem;
    }

    section .sectionTitle {
      width: 100%;
      height: 1.5rem;
      border-bottom: 1px dashed black;

    }

    section ul {
      position: absolute;
      top: 3rem;
    }

    section ul>li {
      height: 1.5rem;
      line-height: 1.5rem;
      font-size: .625rem;
    }

    /* 5.1.productCenter */
    .productCenter {
      width: 28.25rem;
      left: 11.25rem;
    }

    .productCenter ul:nth-child(2) {
      left: 11.125rem;
    }

    .productCenter ul:nth-child(3) {
      left: 21.875rem;
    }

    /* 5.2.tech */
    .tech {
      width: 10rem;
      left: 42.875rem;
    }

    /* 5.3.sellNet */
    .sellNet {
      width: 15.875rem;
      right: 12.5rem;
    }

    /* 6.footer */
    footer {
      height: 5.25rem;
      background: #fff;
      position: relative;
      color: #a6a6a6;
      font-size: .625rem;
    }

    footer>* {
      position: absolute;
      /* height: 5.25rem;
      line-height: 5.25rem; */
      top: 50%;
    }

    footer>ul {
      width: 15.25rem;
    }

    footer li {
      position: absolute;
      width: 5rem;

    }

    footer li:nth-child(1) {
      left: 10.875rem;
    }

    footer li:nth-child(2) {
      left: 14.625rem;
    }

    footer li:nth-child(3) {
      left: 18.375rem;
    }

    footer li:nth-child(4) {
      left: 22rem;
    }

    footer li:nth-child(5) {
      left: 11.5rem;
    }

    footer p {
      position: absolute;
      right: 12.625rem;
    }
  </style>
</head>
<body>
  <!-- 1.top -->
  <div id="top">
    <img src="./img/title.jpg" alt="" srcset="">
    <span>theme</span>
    <i class="iconfont">&#xe63d;</i>
    <input type="text" placeholder="REARCH...">
  </div>
  <!-- 2.header -->
  <header>
    <ul>
      <li>集团介绍</li>
      <li>产品中心</li>
      <li>市场市场</li>
      <li>技术研发</li>
      <li>国际合作</li>
      <li>投资者关系</li>
      <li>新闻资讯</li>
      <li>人力资源</li>
    </ul>
  </header>
  <!-- 3.hanner -->
  <div id="banner">
    <img src="./img/bannerTREVISO.jpg" alt="" srcset="">
  </div>
  <!-- 4.main -->
  <main>
    <!-- 4.1.companyNews  -->
    <div class="companyNews">
      <div class="mainTitle">公司新闻</div>
      <ul>
        <li>
          <span>O</span>
          <span>陈建成董事长出席ATB集团召开年度销售大会</span>
          <span>2013-07-30</span>
        </li>
        <li>
          <span>O</span>
          <span>陈建成董事长出席ATB集团召开年度销售大会</span>
          <span>2013-07-30</span>
        </li>
        <li>
          <span>O</span>
          <span>陈建成董事长出席ATB集团召开年度销售大会</span>
          <span>2013-07-30</span>
        </li>
        <li>
          <span>O</span>
          <span>陈建成董事长出席ATB集团召开年度销售大会</span>
          <span>2013-07-30</span>
        </li>
        <li>
          <span>O</span>
          <span>陈建成董事长出席ATB集团召开年度销售大会</span>
          <span>2013-07-30</span>
        </li>
        <li>
          <span>O</span>
          <span>陈建成董事长出席ATB集团召开年度销售大会</span>
          <span>2013-07-30</span>
        </li>
      </ul>
    </div>
    <!-- 4.2.companyInfo  -->
    <div class="companyInfo">
      <div class="mainTitle">公司介绍</div>
      <div class="infoData">
        <p>公司成立于1984年</p>
        <p>经过近30年发展</p>
        <p>已成为电气制造,房地产开发和金融</p>
        <p>投资三亚并举的综合性跨国...</p>
      </div>
    </div>
    <!-- 4.3.zhaopin -->
    <div class="zhaopin">
      <div class="mainTitle">人才招聘</div>
      <p>培养遗留的人才,铸造一流的工程</p>
      <p>实现员工与企业的共同发展</p>
      <div class="more">MORE&nbsp;</div>
      <img src="./img/horse.jpg" alt="">
    </div>
    <!-- 4.4..marketProject -->
    <div class="marketProject">
      <div class="mainTitle">市场项目</div>
      <div class="marketBox">
        <div class="box1 box"">
          <img src=" ./img/projPic1.jpg" alt="">
          <p>轨道交通:由于主要采用电气牵引,而且轮轨率摩擦阻力较小,与公共...</p>
        </div>
        <div class="box2 box">
          <img src="./img/projPic2.jpg" alt="">
          <p>轨道交通:由于主要采用电气牵引,而且轮轨率摩擦阻力较小,与公共...</p>
        </div>
        <div class="box3 box">
          <img src="./img/projPic3.jpg" alt="">
          <p>轨道交通:由于主要采用电气牵引,而且轮轨率摩擦阻力较小,与公共...</p>
        </div>
        <div class="box4 box">
          <img src="./img/projPic4.jpg" alt="">
          <p>轨道交通:由于主要采用电气牵引,而且轮轨率摩擦阻力较小,与公共...</p>
        </div>
      </div>

    </div>
  </main>
  <!-- 5.section -->
  <section>
    <!-- 5.1.productCenter -->
    <div class="productCenter">
      <div class="sectionTitle">产品中心</div>
      <ul>
        <li>&gt;&nbsp;&nbsp;汽车电机</li>
        <li>&gt;&nbsp;&nbsp;日用电机</li>
        <li>&gt;&nbsp;&nbsp;特种电机</li>
        <li>&gt;&nbsp;&nbsp;大功率电机</li>
        <li>&gt;&nbsp;&nbsp;电工设备</li>
      </ul>
      <ul>
        <li>&gt;&nbsp;&nbsp;汽车电机</li>
        <li>&gt;&nbsp;&nbsp;日用电机</li>
        <li>&gt;&nbsp;&nbsp;特种电机</li>
        <li>&gt;&nbsp;&nbsp;大功率电机</li>
        <li>&gt;&nbsp;&nbsp;电工设备</li>
      </ul>
      <ul>
        <li>&gt;&nbsp;&nbsp;汽车电机</li>
        <li>&gt;&nbsp;&nbsp;日用电机</li>
        <li>&gt;&nbsp;&nbsp;特种电机</li>
        <li>&gt;&nbsp;&nbsp;大功率电机</li>
        <li>&gt;&nbsp;&nbsp;电工设备</li>
      </ul>
    </div>
    <!-- 5.2.tech -->
    <div class="tech">
      <div class="sectionTitle">技术研发</div>
      <ul>
        <li>&gt;&nbsp;&nbsp;汽车电机</li>
        <li>&gt;&nbsp;&nbsp;日用电机</li>
        <li>&gt;&nbsp;&nbsp;特种电机</li>
        <li>&gt;&nbsp;&nbsp;大功率电机</li>
        <li>&gt;&nbsp;&nbsp;电工设备</li>
      </ul>
    </div>
    <!-- 5.3.sellNet -->
    <div class="sellNet">

      <div class="sectionTitle"> 营销网络</div>
      <ul>
        <li>&gt;&nbsp;&nbsp;汽车电机</li>
        <li>&gt;&nbsp;&nbsp;日用电机</li>
        <li>&gt;&nbsp;&nbsp;特种电机</li>
        <li>&gt;&nbsp;&nbsp;大功率电机</li>
        <li>&gt;&nbsp;&nbsp;电工设备</li>
      </ul>
    </div>
  </section>
  <!-- 6.footer -->
  <footer>
    <ul>
      <li>网站地图</li>
      <li>联系我们</li>
      <li>关注我们</li>
      <li>采购系统入口</li>
    </ul>
    <p>COPYRIGHT&nbsp;&copy;&nbsp;2013Gaara控股集团&nbsp;版权所有&nbsp;浙ICP备06005901号&nbsp;技术支持:&nbsp;菠菜互动&nbsp;&nbsp;分享到
      <span class="iconfont icon-weibo"></span>
      <span class="iconfont icon-weibo"></span>
      <span class="iconfont icon-weibo"></span>
      <span class="iconfont icon-weibo"></span>
      <span class="iconfont icon-weibo"></span>
    </p>
  </footer>
</body>
</html>
效果

part1:
在这里插入图片描述

part2:

在这里插入图片描述

知识点和总结
1.使用position定位时,right对标的是div盒子的右边(举例:button:会让其触底)
2.对于内容卡片可以取同一个类名,设置同一个样式,然后使用选择器nth-child()进行位置定位(或者flex布局)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端OnTheRun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值