CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)

简介: CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)

一点

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>css flex布局-画骰子</title>
    <style>
      .box {
        margin: 20px;
        height: 100px;
        width: 100px;
        border: 2px solid grey;
        border-radius: 10px;

        /* 容器内元素使用flex布局 */
        display: flex;
        /* 主轴居中对齐 */
        justify-content: center;
      }
      .point {
        border-radius: 50%;
        height: 20px;
        width: 20px;
        background: black;

        /* align-self 写在子元素上,覆盖父元素指定的交叉轴对齐方式 */
        align-self: center;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="point"></div>
    </div>
  </body>
</html>

两点

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>css flex布局-画骰子</title>
    <style>
      .box {
        margin: 20px;
        height: 100px;
        width: 100px;
        border: 2px solid grey;
        border-radius: 10px;

        /* 容器内元素使用flex布局 */
        display: flex;
        /* 主轴改为纵向 */
        flex-direction: column;
        /* 主轴(纵向)绝对均匀对齐(子元素间距以及两端边缘间距都相等) */
        justify-content: space-evenly;
        /* 交叉轴(横向)居中对齐 */
        align-items: center;
      }
      .point {
        border-radius: 50%;
        height: 20px;
        width: 20px;
        background: black;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="point"></div>
      <div class="point"></div>
    </div>
  </body>
</html>

三点

简易版

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>css flex布局-画骰子</title>
    <style>
      .box {
        margin: 20px;
        height: 100px;
        width: 100px;
        border: 2px solid grey;
        border-radius: 10px;

        /* 容器内元素使用flex布局 */
        display: flex;
        /* 主轴改为纵向 */
        flex-direction: column;
        /* 主轴(纵向)绝对均匀对齐(子元素间距以及两端边缘间距都相等) */
        justify-content: space-evenly;
        /* 交叉轴(横向)居中对齐 */
        align-items: center;
      }
      .point {
        border-radius: 50%;
        height: 20px;
        width: 20px;
        background: black;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="point"></div>
      <div class="point"></div>
      <div class="point"></div>
    </div>
  </body>
</html>

复杂版

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>css flex布局-画骰子</title>
    <style>
      .box {
        margin: 20px;
        height: 100px;
        width: 100px;
        border: 2px solid grey;
        border-radius: 10px;
        padding: 10px;
        box-sizing: border-box;

        /* 容器内元素使用flex布局 */
        display: flex;
        /* 主轴(横向)相对均匀对齐(子元素间距相等,两端边缘间距为子元素间距的一半) */
        justify-content: space-between;
      }
      /* 第一个子元素,交叉轴默认起点对齐 */
      .point {
        border-radius: 50%;
        height: 20px;
        width: 20px;
        background: black;
      }

      .point:nth-child(2) {
        /* 第二个子元素,交叉轴居中对齐 */
        align-self: center;
      }
      .point:nth-child(3) {
        /* 第三个子元素,交叉轴终点对齐 */
        align-self: flex-end;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="point"></div>
      <div class="point"></div>
      <div class="point"></div>
    </div>
  </body>
</html>

四点

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>css flex布局-画骰子</title>
    <style>
      .box {
        margin: 20px;
        height: 100px;
        width: 100px;
        border: 2px solid grey;
        border-radius: 10px;
        padding: 10px;
        box-sizing: border-box;

        /* 容器内元素使用flex布局 */
        display: flex;
        /* 将主轴改为纵向 */
        flex-direction: column;
        /* 主轴(纵向)绝对均匀对齐(子元素间距以及两端边缘间距都相等) */
        justify-content: space-evenly;
      }

      .row {
        /* 每行内元素使用flex布局 */
        display: flex;
        /* 主轴(横向)绝对均匀对齐(子元素间距以及两端边缘间距都相等) */
        justify-content: space-evenly;
      }

      .point {
        border-radius: 50%;
        height: 20px;
        width: 20px;
        background: black;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="row">
        <div class="point"></div>
        <div class="point"></div>
      </div>
      <div class="row">
        <div class="point"></div>
        <div class="point"></div>
      </div>
    </div>
  </body>
</html>

五点

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>css flex布局-画骰子</title>
    <style>
      .box {
        margin: 20px;
        height: 100px;
        width: 100px;
        border: 2px solid grey;
        border-radius: 10px;
        padding: 10px 16px;
        box-sizing: border-box;

        /* 容器内元素使用flex布局 */
        display: flex;
        /* 将主轴改为纵向 */
        flex-direction: column;
        /* 主轴(纵向)绝对均匀对齐(子元素间距以及两端边缘间距都相等) */
        justify-content: space-evenly;
      }

      .row1 {
        /* 每行内元素使用flex布局 */
        display: flex;
        /* 主轴(横向)相对均匀对齐 */
        justify-content: space-between;
      }

      .row2 {
        /* 每行内元素使用flex布局 */
        display: flex;
        /* 主轴(横向)居中对齐 */
        justify-content: center;
      }

      .point {
        border-radius: 50%;
        height: 20px;
        width: 20px;
        background: black;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="row1">
        <div class="point"></div>
        <div class="point"></div>
      </div>
      <div class="row2">
        <div class="point"></div>
      </div>
      <div class="row1">
        <div class="point"></div>
        <div class="point"></div>
      </div>
    </div>
  </body>
</html>

六点

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>css flex布局-画骰子</title>
    <style>
      .box {
        margin: 20px;
        height: 100px;
        width: 100px;
        border: 2px solid grey;
        border-radius: 10px;
        padding: 10px 16px;
        box-sizing: border-box;

        /* 容器内元素使用flex布局 */
        display: flex;
        /* 将主轴改为纵向 */
        flex-direction: column;
        /* 主轴(纵向)相对均匀对齐 */
        justify-content: space-between;
      }

      .row {
        /* 每行内元素使用flex布局 */
        display: flex;
        /* 主轴(横向)绝对均匀对齐 */
        justify-content: space-evenly;
      }

      .point {
        border-radius: 50%;
        height: 20px;
        width: 20px;
        background: black;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="row">
        <div class="point"></div>
        <div class="point"></div>
      </div>
      <div class="row">
        <div class="point"></div>
        <div class="point"></div>
      </div>
      <div class="row">
        <div class="point"></div>
        <div class="point"></div>
      </div>
    </div>
  </body>
</html>
目录
相关文章
|
1月前
|
设计模式 容器
13.HarmonyOS流式卡片列表实现指南:Flex多行布局详解
在现代移动应用开发中,流式卡片列表是一种常见且实用的UI设计模式。它能够自适应屏幕宽度,在有限空间内高效展示多个内容项。本教程将详细讲解如何使用HarmonyOS的ArkUI框架中的Flex组件实现一个灵活的流式卡片列表,重点关注多行布局与对齐策略的应用。
55 2
|
1月前
|
开发者 UED 容器
07.精通HarmonyOS Flex对齐:从基础到高级布局技巧(上)
在HarmonyOS Next的ArkUI框架中,Flex容器提供了强大而灵活的对齐系统,使开发者能够精确控制子元素在容器中的排列方式。掌握这些对齐技术,是构建专业级用户界面的关键。
66 0
|
1月前
|
UED 容器
5.HarmonyOS Next开发宝典:掌握Flex布局的艺术
Flex布局(弹性布局)是HarmonyOS Next中最强大的布局方式之一,它提供了一种更加高效、灵活的方式来对容器中的子元素进行排列、对齐和分配空间。无论是简单的居中显示,还是复杂的自适应界面,Flex布局都能轻松应对。
67 0
|
1月前
|
UED 容器
10.HarmonyOS Next布局进阶:嵌套Flex容器与空间分配策略
在HarmonyOS Next的ArkUI框架中,Flex布局是构建用户界面的核心技术之一。通过嵌套使用Flex容器,我们可以创建复杂而灵活的界面结构,满足各种应用场景的需求。本教程将深入探讨如何在HarmonyOS Next中使用嵌套Flex容器实现复杂布局,以及如何合理分配和控制空间。
54 0
|
4月前
|
开发者 容器
鸿蒙开发:弹性布局Flex
在实际的开发中,需要掌握主轴与交叉轴的关系、换行规则及子元素属性,同时注意性能与兼容性问题,还有一点,Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。
139 10
鸿蒙开发:弹性布局Flex
|
8月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
8月前
|
容器
Bootstrap5 Flex(弹性)布局4
排序:.order 类可设置弹性子元素的排序,范围从 .order-1 至 .order-12,数字越小优先级越高。外边距:.ms-auto 和 .me-auto 分别用于设置子元素的右侧和左侧外边距为 auto。包裹:.flex-nowrap(默认)、.flex-wrap 和 .flex-wrap-reverse 用于控制弹性容器中的子元素是否换行及换行方向。
Bootstrap5 Flex(弹性)布局2
介绍Flex布局的水平和垂直方向控制。`.flex-row`使子元素水平排列,默认左对齐;`.flex-row-reverse`则右对齐。`.flex-column`让子元素垂直排列;`.flex-column-reverse`则反向排列。示例展示了不同类的效果,通过改变类名实现布局调整。
|
7月前
|
容器
Bootstrap5 Flex(弹性)布局6
使用 `.align-self-*` 类可控制指定子元素的对齐方式,包括 `.align-self-start`, `.align-self-end`, `.align-self-center`, `.align-self-baseline`, 和 `.align-self-stretch`。示例代码展示了如何在一个弹性布局中应用这些类,以实现不同设备上的响应式设计。