分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

CSS实现核辐射警告标志

发布时间:2023-09-06 01:55责任编辑:苏小强关键词:CSS

  今天做了下360的前端星计划测试题,碰到一个有趣的css题,实现如下图效果,记得上次也是在360面试的时候碰到一个有趣的css实现宝马logo,不得不说360的面试题还是很有创意的。

  我一直努力想用一个div实现这个效果,但是想了很久,也没找到一个较好的解决方法,暂且先用笨办法实现了,主要运用了CSS的几个属性transform-origin/rotate/skewY,还不懂的赶快去看看哈。

三个div实现

<!DOCTYPE html>
<html lang="en">
<head>
???<meta charset="UTF-8">
???<meta name="viewport" content="width=device-width, initial-scale=1.0">
???<meta http-equiv="X-UA-Compatible" content="ie=edge">
???<title>核辐射警告标志</title>
</head>
<style type="text/css">
html,body {
?width: 100%;
?height: 100%;
}
#warning {
?position: absolute;
?top: 0;
?left: 0;
?right: 0;
?bottom: 0;
?margin: auto;
?width: 200px;
?height: 200px;
?border-radius: 100%;
?background-color: yellow;
?overflow: hidden;
}
.sector {
???position: absolute; ?
???top: 0; ??
???right: 0; ?
???width: 50%; ?
???height: 50%; ?
???transform-origin: 0% 100%; ?
}
.sector:nth-child(1) {
???transform: rotate(30deg) skewY(-30deg); ?
???background: black;
}
.sector:nth-child(2) {
???transform: rotate(-90deg) skewY(-30deg); ?
???background: black;
}
.sector:nth-child(3) {
???transform: rotate(-210deg) skewY(-30deg); ?
???background: black;
}
</style>
<body>
???<div id="warning">
???????<div class="sector"></div>
???????<div class="sector"></div>
???????<div class="sector"></div>
???</div>
</body>
</html>

六个div实现

<!DOCTYPE html>
<html lang="en">
<head>
???<meta charset="UTF-8">
???<meta name="viewport" content="width=device-width, initial-scale=1.0">
???<meta http-equiv="X-UA-Compatible" content="ie=edge">
???<title>核辐射警告标志</title>
</head>
<style type="text/css">
html,body {
?width: 100%;
?height: 100%;
}
#warning {
?position: absolute;
?top: 0;
?left: 0;
?right: 0;
?bottom: 0;
?margin: auto;
?width: 200px;
?height: 200px;
?border-radius: 100%;
?overflow: hidden;
}
.sector {
???position: absolute; ?
???top: 0; ??
???right: 0; ?
???width: 50%; ?
???height: 50%; ?
???transform-origin: 0% 100%; ?
}
.sector:nth-child(1) {
???transform: rotate(30deg) skewY(-30deg); ?
???background: black;
}
.sector:nth-child(2) {
???transform: rotate(-30deg) skewY(-30deg); ?
???background: yellow;
}
.sector:nth-child(3) {
???transform: rotate(-90deg) skewY(-30deg); ?
???background: black;
}
.sector:nth-child(4) {
???transform: rotate(-150deg) skewY(-30deg); ?
???background: yellow;
}
.sector:nth-child(5) {
???transform: rotate(-210deg) skewY(-30deg); ?
???background: black;
}
.sector:nth-child(6) {
???transform: rotate(-270deg) skewY(-30deg); ?
???background: yellow;
}
</style>
<body>
???<div id="warning">
???????<div class="sector"></div>
???????<div class="sector"></div>
???????<div class="sector"></div>
???????<div class="sector"></div>
???????<div class="sector"></div>
???????<div class="sector"></div>
???</div>
</body>
</html>

  其实这两个只能算一种方法,我期待的是只用一个div就可以实现,欢迎各位大开脑洞,一起挑战更多有趣的css!

CSS实现核辐射警告标志

原文地址:https://www.cnblogs.com/lewiscutey/p/9079455.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved