本文介绍: 随着⼈们⽣活⽔平的⽇益提升电影院成为了越来越多的⼈休闲娱乐,周末放松的好去处。各个城市电影院数量也随着市场需求逐年攀升。近⽇,⼜有⼀个电影院正在做着开张前期的准备,⼩蓝作为设计⼯程师,需要电影院座位进⾏布局设计本题需要在已提供的基础项⽬中,使⽤ CSS 完成⻚⾯中电影院座位布局


一、介绍

随着⼈们⽣活⽔平的⽇益提升,电影院成为了越来越多的⼈休闲娱乐,周末放松的好去处。各个城市的电影院数量也随着市场需求逐年攀升。近⽇,⼜有⼀个电影院正在做着开张前期的准备,⼩蓝作为设计⼯程师,需要对电影院座位进⾏布局设计
本题需要在已提供的基础项⽬中,使⽤ CSS 完成⻚⾯中电影院座位布局

二、准备

开始答题前,需要打开本题的项⽬代码⽂件夹⽬录结构如下

├── css
│ └── style.css
└── index.html

其中:

浏览器预览 index.html显示如下所示
在这里插入图片描述

三、⽬标

请在 css/style.css ⽂件中的 TODO 下补全样式代码,最终达到预期布局效果需要注意:

  1. 座位区域和荧幕间隔 50px
  2. 座位区域每⼀⾏包含 8 个座位。
  3. 第 2 列和第 6 列旁边都是⾛廊,需要和下⼀列间隔 30px,其他列都只需要间隔 10px

完成后的效果如下

在这里插入图片描述

四、代码

index.html

<!DOCTYPE html>
<html lang="zh-CN"&gt;
  <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>影院排座位</title>
    <link rel="stylesheet" href="./css/style.css" />
  </head>
  <body>
    <div class="container">
      <!-- 荧幕区域 -->
      <div class="screen">阿凡达2</div>
      <!-- 座位区域 -->
      <div class="seat-area">
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
        <div class="seat"></div>
      </div>
    </div>
  </body>
</html>

css/style.css

* {
  box-sizing: border-box;
}

body {
  background-color: #242333;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100vh;
  margin: 0;
}

.container {
  perspective: 1000px;
  width: 470px;
}

.screen {
  background-color: #fff;
  height: 70px;
  width: 100%;
  transform: rotateX(-45deg);
  box-shadow: 0 3px 10px rgba(255, 255, 255, 0.7);
  color: #242333;
  text-align: center;
  line-height: 70px;
  font-size: 30px;
}

.seat {
  background-color: #444451;
  height: 40px;
  width: 45px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

/* TODO:待补充代码 */

五、知识点

使用:nthchild(an)时,n虽然可以等于0,1,2,3… 但是nthchild没有0号元素 只有1号元素,故an的实际值为 a 2a 3a 而不是0 a 2a 3a

六、完成

/* 作为区域和屏幕间隔50px  */
.screen{
  margin-bottom: 50px;
}
  /* 将座位变为flex布局换行 */
.seat-area{
  display: flex;
  flex-wrap: wrap;
}
/* 让每个座位距离右边10px */
.seat{
  margin-right: 10px;
  /* 下面这一行代码题目没要求写 但是如果写了感觉更符合效果图 */
  margin-bottom:10px  
}
/* 让第二列和第六列距离右边30px  ---》会覆盖10px */
.seat:nth-child(8n+2),
.seat:nth-child(8n+6){
  margin-right: 30px;
}
/* 让最后一列距离边为0 */
.seat:nth-child(8n){
  margin-right: 0px;
}

原文地址:https://blog.csdn.net/m0_58065010/article/details/131098577

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_40398.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注