纯CSS绘制形状(三角形、菱形、球体,长方体等等

2023-11-04

     在前段时间看到有的面试题说让说一下梯形,当时自己懵了,所以把各种各样的常见的形状的CSS实现总结一下,基本形状实现之后就可以利用这些基本形状进行组合,就可以实现复杂的形状:

1、三角形

        .triangle{           
		         width: 0;            
		         height: 0;           
		          border: 50px solid blue;      
		          //可以通过改变边框的颜色来控制三角形的方向
		          border-color: blue transparent transparent transparent;       
           }

三角形的实现

2、梯形

.trapzoid{            
		width: 40px;            
		height: 100px;            
		border: 50px solid blue;            
		border-color: transparent transparent blue transparent;         	
	}

实现的效果如图:

梯形的实现效果

4、圆形

.circle{            
		width: 100px;            
		height: 100px;            
		border-radius: 50%;           
		 background: blue;        
 }

实现的效果:

在这里插入图片描述

4、球体

        .sphere{            
		        width: 100px;            
		        height: 100px;            
		        border-radius: 50%;            
		        background: radial-gradient(circle at 70px 70px,#5cabff,#000000);     
		}

实现的效果如下:

球体

5、椭圆

        .ellipse{            
		        width: 200px;            
		        height: 100px;            
		        border-radius: 50%;            
		        background: blue;        
		 }

实现的效果:
椭圆

6、半圆

        .semicircle{            
		        width: 50px;            
		        height: 100px;           
		        border-radius: 50px 0 0 50px ;            
		        background: blue;        
	        }

效果如下:半圆

7、菱形


 .rhombus{
            width: 100px;
            height: 100px;
            transform: rotateZ(45deg)skew(30deg,30deg);
            background: blue;
        }

效果如下:
菱形

8、心

心是由两个圆形与一个矩形进行组合的

		.heart {
		    width: 100px;
		    height: 100px;
		    transform: rotateZ(45deg);
		    background: red;
		}
		
		.heart::after,
		.heart::before {
		    content: "";
		    width: 100%;
		    height: 100%;
		    border-radius: 50%;
		    display: block;
		    background: red;
		    position: absolute;
		    top: -50%;
		    left: 0;
		}
		
		.heart::before {
		    top: 0;
		    left: -50%;
		}

	

效果:
心

9、五边形

五边形是由三角形和梯形组成的
        .pentagonal {            
		        width: 100px;            
		        position: relative;            
		        border-width: 105px 50px 0;            
		        border-style: solid;            
		        border-color: blue transparent;        
		        }
        .pentagonal:before {            
		        content: "";            
		        position: absolute;            
		        width: 0;            
		        height: 0;            
		        top: -185px;            
		        left: -50px;            
		        border-width: 0px 100px 80px;           
		        border-style: solid;            b
		        order-color: transparent transparent blue;        
		        }
	

效果:
五边形

10、圆柱体

由一个椭圆和一个圆角矩形进行组合
        .cylinder {            
		        position: relative;            t
		        ransform: rotateX(70deg);        
        }
        .ellipse {           
		        width: 100px;            
		        height: 100px;             
		        background: deepskyblue;           
		        border-radius: 50px;        
		    }
        .rectangle {           
		        width: 100px;            
		        height: 400px;            
		        position: absolute;            
		        opacity: 0.6;            
		        background: deepskyblue;            
		        top: 0;            
		        left: 0;             
		        border-radius: 50px;            
		        z-index: -1;        
		}
		

效果:
圆柱体

11、长方体

由六个矩形实现

.cuboid {
    width: 200px;
    height: 200px;
    transform-style: preserve-3d;
    transform: rotateX(-30deg) rotateY(-80deg);
}

.cuboid div {
    position: absolute;
    width: 200px;
    height: 200px;
    opacity: 0.8;
    transition: .4s;
}

.cuboid .front {
    transform: rotateY(0deg) translateZ(100px);
    background: #a3daff;
}

.cuboid .back {
    transform: translateZ(-100px) rotateY(180deg);
    background: #a3daff;
}

.cuboid .left {
    transform: rotateY(-90deg) translateZ(100px);
    background: #1ec0ff;
}

.cuboid .right {
    transform: rotateY(90deg) translateZ(100px);
    background: #1ec0ff;
}

.cuboid .top {
    transform: rotateX(90deg) translateZ(100px);
    background: #0080ff;
}

.cuboid .bottom {
    transform: rotateX(-90deg) translateZ(100px);
    background: #0080ff;
}
<div class="cuboid">
    <!--前面 -->
    <div class="front"></div>
    <!--后面 -->
    <div class="back"></div>
    <!--左面 -->
    <div class="left"></div>
    <!--右面 -->
    <div class="right"></div>
    <!--上面 -->
    <div class="top"></div>
    <!--下面 -->
    <div class="bottom"></div>
</div>

效果:

正方体

12、棱锥

四个三角形和一个矩形组成



.pyramid {
    width: 200px;
    height: 200px;
    transform-style: preserve-3d;
    transform: rotateX(-30deg) rotateY(-80deg);
} 
.pyramid div {
    position: absolute;
    top: -100px;
    width: 0px;
    height: 0px;
    border: 100px solid transparent;
    border-bottom-width: 200px;
    opacity: 0.8;
}

.pyramid .front {
    transform: translateZ(100px) rotateX(30deg);
    border-bottom-color: #a3daff;
    transform-origin: 0 100%;
}

.pyramid .back {
    transform: translateZ(-100px) rotateX(-30deg);
    border-bottom-color: #1ec0ff;
    transform-origin: 0 100%;
}

.pyramid .left {
    transform: translateX(-100px) rotateZ(30deg) rotateY(90deg);
    border-bottom-color: #0080ff;
    transform-origin: 50% 100%;
}

.pyramid .right {
    transform: translateX(100px) rotateZ(-30deg) rotateY(90deg);
    border-bottom-color: #03a6ff;
    transform-origin: 50% 100%;
}

.pyramid .bottom {
    transform: translateX(-100px) rotateZ(90deg) rotateY(90deg);
    background: cyan;
    width: 200px;
    height: 200px;
    border: 0;
    top: 0;
    transform-origin: 50% 100%;
}
<div class="pyramid">
    <!--前面 -->
    <div class="front"></div>
    <!--后面 -->
    <div class="back"></div>
    <!--左面 -->
    <div class="left"></div>
    <!--右面 -->
    <div class="right"></div>

    <!--下面 -->
    <div class="bottom"></div>
</div>

效果:

在这里插入图片描述

还有很多没有整理上,遇到了再继续补全,如果有不对的望指正!!!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

纯CSS绘制形状(三角形、菱形、球体,长方体等等 的相关文章

  • CSS - 让div继承高度

    我正在尝试制作一个带有圆角的盒子 其中 div 的高度和宽度取决于内容 因此它会自动调整 您可以在此处查看示例 http pastehtml com view 1duizyf html http pastehtml com view 1du
  • 如何正确使用 z-index?

    请在此处查看此页面 http www blakearchive org blake public exhibits canterburySpecial html http www blakearchive org blake public
  • 如何使用 Angular 创建 n 个可打印页面?

    嗯 我搜索了一下 没有找到类似的东西 我想知道如何使用 Angular 创建可打印内容 跳转到页面末尾并打印更多内容 如何强制内容始终适合特定尺寸 例如 PDF 我需要 Angular 来执行此操作吗 如果不是 HTML 我可以迭代 PDF
  • CSS3 与 JavaScript

    所以我试图在网页上创建一个动画 并试图找到一种使用 CSS3 来实现它的方法 但我对如何做到这一点感到非常困惑 我需要发生的是 当用户单击链接元素时 我希望 div 展开并填充特定于所单击的链接元素的内容 例如 当用户单击标题为 About
  • 如何在 Angular 应用程序中动态更改 CSS 类名称?

    我有两个 CSS 类名 如下所示 icon heart color bdbdbd icon heart red color a6b7d4 我的 HTML 包含一个心形图标 div class icon heart div
  • 如何在绝对定位的 div 内用 CSS 创建粘性页脚?

    我想创建一个粘性页脚inside绝对定位的 div 元素 我的方法是将页脚 div 也绝对定位 在另一个相对定位的 页面 div 内 其中包含页面的实际内容 div class content div class page Some Lor
  • 动画和过渡的组合无法正常工作

    我一直在尝试添加一些基本的 CSS3 动画 目标是在按钮的单击事件上切换类 并根据添加的类对 div 进行动画处理 该代码对于 Firefox 中切换的第一次迭代完美运行 但对于 Chrome 等其他浏览器以及 Firefox 中的下一次迭
  • 如何选择一个元素但排除其子元素

    我明白 div hover not class 作品 但是 如何实现 LI 元素的 悬停 效果 但排除鼠标悬停在LI内的某个 DIV 上时的悬停效果 E G li Hello div Bye div li 我想获得 li 的悬停效果 li
  • 如何居中对齐数据表标题

    我是数据表新手 当我制作表格标题时 它总是左对齐 如何将标题设置为居中对齐 我已阅读 datatables net manual styling classes 和 datatables net reference option colum
  • 在问题内显示内联块文本

    我一直在尝试显示内联块 如果我没有在 div 中添加任何内容 一切都会很好 但是当我这样做时 div 会折叠起来 我不知道确切的原因 任何想法 https jsfiddle net giancorzo ebqoptbd https jsfi
  • 如何在 CSS 中将 RadioButton 图标样式设置为无(在 Flex 3 中)?

    您可以通过在 CSS 中设置以下值来在 Flex 中设置 RadioButton 的外观 upSkin Embed overSkin Embed ownSkin Embed disabledSkin Embed selectedUpSkin
  • Ionic 2:隐藏滚动条并继续滚动

    我只想hide滚动条 在需要滚动的页面中 我正在使用离子2 My 不工作解决方案 scroll content bar overflow hidden 此解决方案隐藏滚动条but使屏幕不可滚动 首先 改变浏览器的自然行为和预期的用户体验是一
  • 为什么我的 CSS 属性被覆盖/忽略?

    我对 CSS 层次结构 有一些问题 不确定将其称为层次结构是否正确 我正在尝试设置以下 HTML 的样式 section section
  • CSS 属性选择器类以以下开头但不等于

    我想将 css 应用于以 abcd 开头的所有类 但我不想将该 css 应用于名称为 abcd dontapply 的类 我可以这样做吗 我尝试过的 a class abcd not class abcd dontapply define
  • Bootstrap 响应式表格在 iOS 设备上无法垂直滚动

    这就是我所拥有的 div class table responsive table class table style background transparent table div 我正在使用以下 bootstrap css 文件 ht
  • 如何在 Rails 5 中设置资产管道以使用自定义字体?

    我必须使用自定义字体贾米尔 努里 纳斯塔莱克 http www urdujahan com urdu fonts Jameel 20Noori 20Nastaleeq zip在 Rails 5 应用程序中 我以前从未使用过 Rails 中的
  • Chrome 版 Firebug Lite 会破坏悬停效果和鼠标悬停事件

    我有一个奇怪的问题 使用时适用于 Chrome 的 Firebug Lite https chrome google com webstore detail firebug lite for google c bmagokdooijbeeh
  • 选择子元素但不选择孙元素

    我有以下简化的代码 div p text p div div p text p div div p text p div div p text p div 每当我设置一些值时 content pCSS 文件中的元素 更改也适用于 col1
  • Flexbox 项目的完美圆形边框半径[重复]

    这个问题在这里已经有答案了 我有类似这样的项目 它们是弹性盒容器内的弹性项目 我的正常尺寸物品 我的物品被挤压 我的 CSS 看起来像这样 body display flex flex direction column align item
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h

随机推荐

  • Java反编译器推荐:5款顶级工具助力Java代码逆向分析

    Java反编译器推荐 5款顶级工具助力Java代码逆向分析 Java反编译和编译是软件开发者 安全研究人员和逆向工程师在分析和理解Java代码时常常遇到的任务 本文将为您介绍五款最佳的Java反编译器 这些工具能够帮助您还原被编译为字节码的
  • 华为OD机试真题- 目录删除-2023年OD统一考试(B卷)

    题目描述 某文件系统中有N个目录 每个目录都一个独一无二的ID 每个目录只有一个父目录 但每个父目录下可以有零个或者多个子目录 目录结构呈树状结构 假设 根目录的ID为0 且根目录没有父目录 其他所有目录的ID用唯一的正整数表示 并统一编号
  • Connectify Hotspot,让你的电脑变成WIFI热点!!

    http www ttrar com html Connectify Hotspot Professional html down 我使用的是破解版
  • 在C语言中怎样定义一个字符串并输入输出

    在C语言中没有字符串类型 用字符数组处理字符串 字符数组定义 char 数组名 常量表达式 常量表达式 说明 一维字符数组 用于存储和处理一个字符串 二维字符数组 用于同时存储和处理多个字符串 输入输出方法 逐个字符输入输出 c 整个字符串
  • 使用HTTP获取 OAuth 2.0 access tokens(Google)

    请求access token流程 1 搭建开发环境 申请Google账号 登录Google账号 进入创作者工作室 进入直播栏目 打开个人账户直播功能 进入google develop console a 创建新项目 b 启用YouTube
  • 如何用qt获取/etc/network/interface文件中的配置信息及写入信息

    void read interface file QFile readFile etc network interfaces QString strAll if readFile open QIODevice ReadOnly QIODev
  • C语言学习系列1-helloworld示例

    操作环境 CentOS release 6 4 Final 新建文件helloworld c 编辑保存如下内容 include
  • C语言函数大全-- s 开头的函数(3)

    s 开头的函数 3 1 sleep 1 1 函数说明 1 2 演示示例 1 3 运行结果 2 sopen 2 1 函数说明 2 2 演示示例 2 3 运行结果 3 sound 3 1 函数说明 3 2 演示示例 4 spawnl 4 1 函
  • leetcode20. 有效的括号 [简单题]

    题目 给定一个只包括 的字符串 s 判断字符串是否有效 有效字符串需满足 左括号必须用相同类型的右括号闭合 左括号必须以正确的顺序闭合 每个右括号都有一个对应的相同类型的左括号 示例 1 输入 s 输出 true 示例 2 输入 s 输出
  • Windows server远程桌面端口修改

    服务器的远程桌面端口号默认都是3389 修改端口方法如下 1 进入控制面板 防火墙 高级设置 入站规则 可以看到远程桌面TCP In的端口号默认是3389 2 进入注册表 运行 regedit 在注册表中 依次展开目录 HKEY LOCAL
  • ESP32-CAM使用过程的问题

    Esp32 cam算比较便宜实惠的摄像头模块 但是esp32在国内很冷门 可以查看的资料很少 使用过程走了很多弯路 一直跟厂家的技术支持沟通 终于可以显示画面了 以下是本人使用过程中遇到的一些问题 希望对大家有点帮助 有些问题有点蠢 1 a
  • 【文生图系列】如何在Stable Diffusion Webui中使用ControlNet

    文章目录 ControlNet Stable Diffusion ControlNet 安装ControlNet插件 bug 例子展示 参考 ControlNet ControlNet是一个神经网络结构 通过添加额外的条件控制扩散模型 给定
  • 成功解析TT100K

    import os import json from random import random import cv2 import shutil import json import xml dom minidom from tqdm im
  • 华为OD机试真题-施肥问题【2023Q1】

    题目内容 解题思路 首先需要计算每个果园的施肥时间 即果园面积除以施肥机能效 然后找到最小的施肥机能效 保证施肥任务能在规定时间内完成 如果施肥天数小于果园数量 则无法完成施肥任务 返回 1 如果施肥天数等于果园数量 则直接返回最大果园面积
  • 无法用opencv 设置usb camera的解决办法

    apt get install v4l utils v4l2 ctl set fmt video width 1920 height 1080 pixelformat YUYV 转载于 https www cnblogs com gabri
  • 二叉树面试题以及线索化二叉树

    二叉树面试题 完整代码 include
  • echarts之formatter两种使用形式及蝴蝶图的绘制

    1 formatter两种使用形式 可以通过函数和字符串模板来自定义formatter 通过函数动态创建节点 通过循环param的长度 不写死节点 这样有一个好处就是当点击了某一个legend取消了数据的展示的时候 tooltip提示框不至
  • Java8-17 --- idea2022

    目录 一 idea官网 二 使用idea编写hello world 三 查看工程中的JDK配置信息 四 详细设置 4 1 显示工具栏 4 2 默认启动项目配置 4 3 取消自动更新 4 4 选择整体主体与背景图 4 5 设置编辑器主题样式
  • React 使用技巧:useReducer、immer库和 Formik工具库

    1 使用 useReducer hook useReducer 是 useState 的替代品 它可以更好的管理组件的状态 useReudcer 的格式 import useReducer from react let state disp
  • 纯CSS绘制形状(三角形、菱形、球体,长方体等等

    在前段时间看到有的面试题说让说一下梯形 当时自己懵了 所以把各种各样的常见的形状的CSS实现总结一下 基本形状实现之后就可以利用这些基本形状进行组合 就可以实现复杂的形状 1 三角形 triangle width 0 height 0 bo