CSS画圆、三角形、品字、骰子

article/2025/1/15 21:15:44

CSS画圆、三角形、品字、骰子

前言:这篇文章主要是本人正在看面试题,面试题当成八股文来背,太难了。所以,通过写笔记,并自己实践来加深印象。如果这篇文章对你有帮助,请不要吝啬你的赞。

border-radius属性的值等于盒子高度的一半就行(当然,盒子得是正方形才能得到圆,否则便不是圆)

<style>.circle {width: 200px;height: 200px;border-radius: 50%;background-color: pink;}.box {width: 200px;height: 100px;border-radius: 50%;background-color: purple;}
</style><div class="circle"></div>
<div class="box"></div>

image-20220331231836859

三角形

原理:相邻边框均分

这是什么意思呢?

看下例子

<style>div {box-sizing: border-box;}.triangle1 {display: inline-block;width: 100px;height: 100px;border-left-width: 20px;border-left-style: solid;border-left-color: blue;background-color: pink;}.triangle2 {display: inline-block;width: 100px;height: 100px;border-width: 20px;border-style: solid;border-left-color: blue;background-color: pink;}
</style><div class="triangle1"></div>
<div class="triangle2"></div>

image-20220331220603126

可以知道,边框实际上应该是长方形或正方形的,但是第二个例子中,出现了梯形的边框,这就是因为有左边框,同时还有上下边框,但是位置是有限的,所以它们互相体谅,最后,每人拿一半。


那么,怎样才能用纯CSS画三角形呢?

首先,中间粉色的区域是一定要去掉的,所以让盒子没有宽高

.triangle {display: inline-block;border-width: 20px;border-style: solid;border-left-color: blue;
}

image-20220331221302109

可以看到,三角形已经出来了,那么,设置边框的颜色为透明,然后,只让一边的边框有颜色,就能画出三角形

.triangle {display: inline-block;border-width: 20px;border-style: solid;border-color: transparent;border-left-color: blue;
}

image-20220331221500139


满屏品字

上面一块使用 margin: 0 auto居中,下面两块要用 float inline-block控制不换行( inline-block可能还是会导致换行,因为可能会出现滚动条)

另外,需要满屏,所以上下应该各占50%,但是呢,默认的 html body高度为0,所以需要设置高度为 100%

<style>html,body,div {margin: 0;padding: 0;}html,body {/* 让div盒子高度能使用百分比形式 */height: 100%;}.top {width: 50%;height: 50%;background-color: red;margin: 0 auto;}.bottom {width: 100%;height: 50%;}.left,.right {float: left;width: 50%;height: 100%;}.left {background-color: blue;}.right {background-color: purple;}
</style><div class="top"></div>
<div class="bottom"><div class="left"></div><div class="right"></div>
</div>

image-20220331230500566


骰子

主要是通过flex布局实现,flex布局的主要语法可查看本人写的另一篇(原本在个人博客上的,发到掘金上了)


一的情况比较简单,设置flex布局后,同时设置水平垂直居中即可。

<style>.box {display: flex;justify-content: center;	/* 实现水平居中 */align-items: center;		/* 实现垂直居中 */width: 90px;height: 90px;padding: 5px;background-color: pink;}.item {width: 30px;height: 30px;background-color: purple;border-radius: 50%;}
</style><div class="box"><div class="item"></div>
</div>

image-20220401210154269


首先,通过 justify-content: space-between;,实现首元素在起点,尾元素在终点。

<style>.box {display: flex;width: 90px;height: 90px;padding: 5px;background-color: pink;/* 均匀排列每个元素。首个元素放置于起点,末尾元素放置于终点 */justify-content: space-between;}.item {width: 30%;height: 30%;background-color: purple;border-radius: 50%;}
</style><div class="box"><div class="item"></div><div class="item"></div>
</div>

然后,通过 align-self: flex-end;把尾元素单独拖下来

.item:nth-child(2) {align-self: flex-end;
}

image-20220401211517836


三的做法和二类似,不同的是,三需要把第三个元素拖下来,而第二个元素应该在中间

<style>.box {display: flex;width: 90px;height: 90px;padding: 5px;background-color: pink;justify-content: space-between;}.item {width: 30px;height: 30px;background-color: purple;border-radius: 50%;}.item:nth-child(2) {/* 单独控制子元素在侧轴上的排列方式 */align-self: center;}.item:nth-child(3) {align-self: flex-end;}
</style><div class="box"><div class="item"></div><div class="item"></div><div class="item"></div>
</div>

image-20220401211948993


四的情况麻烦一点点。

首先,html的结构需要增加上下两个中盒子。

<div class="box"><div class="top"><div class="item"></div><div class="item"></div></div><div class="bottom"><div class="item"></div><div class="item"></div></div>
</div>

然后,上下两个中盒子,分别要在大盒子的上下,所以大盒子需要设置主轴为垂直方向,并设置 justify-content: space-between;

.box {display: flex;width: 90px;height: 90px;padding: 5px;background-color: pink;/* 设置主轴为垂直方向 */flex-direction: column;justify-content: space-between;
}

最后,两个中盒子也得设置为 flex,因为它们的子元素也需要 justify-content: space-between;来实现,一人在左,一人在右。

.top,
.bottom {display: flex;justify-content: space-between;
}

item盒子的样式直接拿上面的即可

image-20220401212824132


五和四类似,需要再来一个中盒子,然后让这个中盒子单独居中局可

<div class="box"><div class="top"><div class="item"></div><div class="item"></div></div><div class="middle"><div class="item"></div></div><div class="bottom"><div class="item"></div><div class="item"></div></div>
</div>

.middle {align-self: center;
}

image-20220401213326677


六和四一摸一样做法

<div class="box"><div class="top"><div class="item"></div><div class="item"></div><div class="item"></div></div><div class="bottom"><div class="item"></div><div class="item"></div><div class="item"></div></div>
</div>

.box {display: flex;width: 90px;height: 90px;padding: 5px;background-color: pink;flex-direction: column;justify-content: space-between;}.top,.bottom {display: flex;justify-content: space-between;}.item {width: 30px;height: 30px;background-color: purple;border-radius: 50%;}.top>.item:nth-child(2),.bottom>.item:nth-child(2) {/* 产生点间距,好看点 */margin: 0 1px;}

image-20220401213738860


http://chatgpt.dhexx.cn/article/yyNuZJiy.shtml

相关文章

CSS画圆实现代码

主要是css圆的样式定义的问题&#xff0c;解决好后就能画出来了 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>Document</title><style>.circle{width: 100px;height: 100px;border-radius: 50px;border: …

用CSS画圆、半圆、线性箭头

一、css画半圆 border-radius 可以设置盒子四边的弧度。可以设置%&#xff0c;px等单位。 在css中利用border-radius可以画出圆形&#xff0c;半圆&#xff0c;等图案 半圆需要两个块元素&#xff0c;两个块元素分别设置一个对应的角即可。 <style>.a{width: 200px;he…

css画圆教程

目录 一、border-radius1.作用2.使用语法 二、border-color 本文章主要讲解css的border-radius&#xff0c;border-color两个属性&#xff0c;利用它们就可以画出你想要的图形。 一、border-radius 1.作用 border-radius 允许你设置元素的外边框圆角。当使用一个半径时确定一…

用css画圆

用css完成一个实心圆形。要求圆形有边框、背景色&#xff0c;边框的宽度为10px、颜色为红色、边框样式为实心。背景色为蓝色。 background-color: blue;width: 100px;height: 100px;border-radius: 50%;border: 10px solid red;用css实现颜色渐变效果 background: radial-grad…

yml书写格式

书写格式&#xff1a; 大小写敏感属性层级关系使用多行描述&#xff0c;每行结尾使用冒号结束使用缩进表示层级关系&#xff0c;同层级左侧对齐&#xff0c;只允许使用空格(不允许使用Tab键)属性值前面添加空格(属性名与属性值之间使用冒号空格作为分隔)# 表示注释 注&#x…

Spring boot yml文件的书写格式

Spring boot yml文件的书写格式 使用ide 创建好spring boot文件格式后https://blog.csdn.net/weixin_42292697/article/details/93479876 再resources 目录下 创建了application.yml 的文件名 文件名不需要改动&#xff0c;改动Spring boot 会不识别 而导致出现错误 创建一个…

yml的格式写法

一.普通对象 1.语法 # 普通赋值配置 name: zhangsan2.范例 二.多层对象赋值 1.语法 # 配置端口号 server:port: 8088 # 对象配置 person:name: zhangsanage: 21gender: 12.范例 三.行内对象 1.语法 # 行内对象 person2: {name: zhangsn,age: 21,gender: 1}2.范例 四.数组…

springboot环境配置,yml格式,不同环境切换

配置文件properties.yml格式 注意&#xff1a; 大小写敏感数据前要有空格数据格式&#xff1a;对象、数组、纯量、数据格式引用${} # 加载顺序 yml > yaml > properties # 覆盖顺序&#xff1a;properties > yaml > yml&#xff0c;即properties中内容与其他冲突…

快速替换jar包中.class、.html、.yml格式的文件

快速替换jar包中.class、.html、.yml格式的文件 文章目录 快速替换jar包中.class、.html、.yml格式的文件背景下载反编译软件JD-GUI使用 jd-gui 打开web.jar 文件找到对应的jar包中需要修改的class 文件将代码复制到新的java文件&#xff0c;并修改相应的内容解压web.jar 文件使…

YML简介

在接触springboot的时候遇到了一种特殊的配置文件 .yml&#xff0c;本文对yml作简单介绍&#xff0c;快速入手yml。 一、YML是什么 YAML (YAML Aint a Markup Language)YAML不是一种标记语言&#xff0c;通常以.yml为后缀的文件&#xff0c;是一种直观的能够被电脑识别的数据…

YML文件格式学习

最近的SpringBoot项目里用到yml文件作为配置文件&#xff0c;简单的了解下&#xff0c;它的基本语法如下 大小写敏感使用缩进表示层级关系缩进时不允许使用Tab键&#xff0c;只允许使用空格。缩进的空格数目不重要&#xff0c;只要相同层级的元素左侧对齐即可&#xff03; 表示…

Spring boot yml的格式

spring boot 配置文件的格式分为两种 第一种就是&#xff1a; #spring.datasource.urljdbc:sqlite:D:/demo/springboot-sqlite-master/src/main/db/myDb spring.datasource.urljdbc:sqlite:D:/demo/springboot-sqlite-master/src/main/db/myDb spring.datasource.usernameroo…

【微服务】使用yml格式进行nacos拓展配置

文章目录 前言1、properties格式配置2、yml格式配置 前言 在学习过程中接触到了在bootstrap.yml文件中对nacos的拓展配置&#xff0c;对一方面目前还不算是太熟悉&#xff0c;因此便打算在网上进行学习。 但是经过一系列搜索&#xff0c;发现网上众多都是使用的properties充当…

.json格式转为.yml格式

.json格式转为.yml格式 在跑ssd-6d代码时&#xff0c;出现了一个严重的问题&#xff0c;代码中用到的数据集里的文件都是.yml文件&#xff08;eg:camera.yml&#xff09;但是在下载的数据集&#xff08;teijani&#xff09;中也没有相应的.yml文件&#xff0c;数据及里提供的都…

Java Yml格式转换为Properties

Yml格式文件转换为Properties格式 问题引入转换代码代码解读 问题引入 使用在线的yml转换properties, 发现有属性内容漏了&#xff0c;网站地址https://tooltt.com/yaml2properties/。 于是自己动手写个转换工具类&#xff0c;自测过多个 yml 文件&#xff0c;目前没发现遗漏的…

Spring Boot配置文件yml格式详解

在Spring Boot项目中配置文件格式可以是.properties格式,也可以是yml格式,但是一般使用yml格式的比较多,yml格式都有什么语法?yml格式怎么配置?本文将详细的讲解yml的具体使用。 简介 YAML 是一种简洁的非标记语言(YAML Ain’t Markup Language),YAML以数据为中心,使用空…

连线图

电子发声单元接线图 点阵单元接线图 点阵实验接线图 连线设计图

五类直连线做法

五类直连线两头线序相同&#xff0c;都是 白橙、橙、白绿、蓝、白蓝、绿、白棕、棕 如下图所示&#xff0c;将水晶头卡扣朝下&#xff0c;插入网线后用网线钳夹紧即可。

连连看(三)

Python3 实现QQ游戏连连看游戏辅助 连连看&#xff08;零&#xff09;—— 前记连连看&#xff08;一&#xff09;—— 你看&#xff0c;这是截图啊连连看&#xff08;二&#xff09;—— 哦吼&#xff0c;PIL CV2 Numpy 假图像识别构建矩阵连连看&#xff08;三&#xff09…