lt;!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/style.css" rel="stylesheet">
<style>
*{
margin: 0;
padding: 0;
list-style: none;
outline: none;
}
html,body{
width: 100%;
height: 100%;
}
body{
background: radial-gradient(ellipse at center, #34679a 0%, #214163 50%, #0d1926 100%);
}
body>div{
/* 上下并排,水平居中
display: inline-block;
text-align: center; */
width: 200px;
height: 200px;
border: 1px solid #fff;
border-radius: 50%;
position: absolute;
top: 15%;
left: 50%;
margin-left: -50px;
transform: rotateX(80deg) rotateY(20deg);
transform-style: preserve-3d;
}
body > div:nth-of-type(2){
transform: rotateX(-80deg) rotateY(20deg);
}
body > div:nth-of-type(3){
transform: rotateX(-70deg) rotateY(60deg);
}
body > div:nth-of-type(4){
transform: rotateX(70deg) rotateY(60deg);
}
body > div:first-of-type::after{
content: "";
/* display: inline-block; */
width: 40px;
height: 40px;
background: #fff;
position: absolute;
top: 50%;
left: 50%;
margin-top: -20px;
margin-left: -20px;
transform: rotateX(80deg);
border-radius: 50%;
animation: nuclues 2s linear infinite;
}
@keyframes nuclues{
0%{
box-shadow: 0 0 0 transparent;
}
50%{
box-shadow: 0 0 0 transparent;
}
100%{
box-shadow: 0 0 0 transparent;
}
}
body > div > div{
width: 200px;
height: 200px;
/* border-radius: 50%; */
transform-style: preserve-3d;
animation: trail 1s infinite linear;
}
@keyframes trail{
from{
transform: rotateZ(0deg);
}
to{
transform: rotateZ(360deg);
}
}
body > div > div::after{
content: "";
width: 5px;
height: 5px;
position: absolute;
background: #fff;
border-radius: 50%;
position: absolute;
top: -5px;
left: 50%;
margin-left: -5px;
box-shadow: 0 0 12px #fff;
animation: particle 1s infinite linear;
}
@keyframes particle{
from{
transform: rotateX(0deg) rotateY(0deg);
}
to{
transform: rotateX(90deg) rotateY(-360deg);
}
}
body>div:nth-of-type(2)>div,
body>div:nth-of-type(2)>div::after{
animation-delay: -0.5s;
}
body>div:nth-of-type(3)>div,
body>div:nth-of-type(3)>div::after{
animation-delay: -1s;
}
body>div:nth-of-type(4)>div,
body>div:nth-of-type(4)>div::after{
animation-delay: -1.5s;
}
</style>
</head>
<body>
<div>
<div></div>
</div>
<div>
<div></div>
</div>
<div>
<div></div>
</div>
<div>
<div></div>
</div>
</body>
</html>
---------------------
作者:abrahamhdq
原文:https://blog.csdn.net/hdq1745/article/details/85489329
版权声明:本文为博主原创文章,转载请附上博文链接!
)CSS 标准盒子模型(Box Model)
在网页中所有HTML元素可以看作盒子,在CSS中,"box model"术语是用来设计和布局时使用的;CSS盒模型本质上是一个盒子,封装周围的HTML元素包括:外边距(margin)边框(border)内边距(padding)实际内容(content)四个属性,所以布局时每个元素所占的总宽高是这4个属性的总和;比如宽度:总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距
1.1Margin(外边距)清除边框外的区域,外边距是透明的
1.2Border(边框)围绕在内边距和内容外的边框
1.3Padding(内边距)清除内容周围的区域,内边距是透明的
1.4Content(内容)盒子里填充的内容比如文本,图像等
标准盒子模型
宽度为100px的div
根据盒子模型得出该元素的总宽度为:100+(20+20)+(15+15)+(15+15)(由里至外)因此如果想在此div中放置一个宽度为100px的元素,此元素的总宽度必须小于等于100px
2)DIV+CSS布局
Div+CSS布局就是将网页内容用<div>分割为块,之后使用css设置每个块的大小,位置等
DIV+CSS布局最重要的是灵活运用float(浮动)属性,其值:1)left 2)right 3)both
clear属性作用是清除浮动,其值为:1)left 2)right 3)both
d2向右浮动 float:right
因为div是块级元素,如果都没有脱离文档流div就会按照从上到下的顺序放置
d2设置为右浮动其他两个div位置的变化:
1)d1没有脱离文档流会占据一行,所以d2只能浮动到d1下面的右面如上图所示
2)d2脱离文档流,d3自动填充到d2的位置
d1,d2全部设置为右浮动
1)当d1,d2都设置为右浮动时:因为css中d1在d2上面先设置,因此d1在右侧,如果d2在d1上面先设置样式,则d2在右侧,d1在左侧,自己测试不再截图
2)当d1,d2都设置为右浮动时:d3就会跑到上图中d2的位置
3)如果3个div都设置左或右浮动,当3个width加一起<=100%就会在第一行显示(d1,d2,d3)
<style type="text/css">
#d1 {
margin: 0px;
background-color: red;
padding: 0px;
width: 50%;
height: 100px;
float:right;
}
#d2 {
margin: 0px;
background-color: yellow;
padding: 0px;
width: 50%;
height: 100px;
float:right;
}
#d3 {
margin: 0px;
background-color: green;
padding: 0px;
width: 50%;
height: 100px;
}
</style>
d2清除左浮动,d3设置为右浮动
当d2清除了左浮动,d3设置为右浮动,就会如上图所示;如果d2清除的是右浮动,d2就会在d1上面,d3就会定位在d1下面的右面,自己测试不再截图
当d2清除了左浮动,如果想要d2紧挨着d1(与d1在一行上),可以通过position脱离文档流设置其上下左右属性使其定位在d1右侧,自己测试
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>div+CSS布局</title>
<style type="text/css">
#d1 {
margin: 0px;
background-color: red;
padding: 0px;
width: 30%;
height: 100px;
float:left;
}
#d2 {
margin: 0px;
background-color: yellow;
padding: 0px;
width: 40%;
height: 100px;
clear: left;
}
#d3 {
margin: 0px;
background-color: green;
padding: 0px;
width: 30%;
height: 100px;
float: right;
}
</style>
</head>
<body>
<div id="d1"><span style="font-size: 50px;">d1</span></div>
<div id="d2"><span style="font-size: 50px;">d2</span></div>
<div id="d3"><span style="font-size: 50px;">d3</span></div>
</body>
</html>
DIV+CSS布局综合运用position+上下左右属性与float属性为网页进行布局
注意:浏览器的兼容性问题,特别是使用IE内核的浏览器对W3C的规范不怎么遵守
是Web开发和CSS的新手吗?你是否想过如何在互联网上看到那些漂亮的形状?别再奇怪了。你来对地方了。
下面,我将解释使用CSS创建形状的基本知识。还有很多要告诉你关于这个话题!因此,我不会涵盖所有(绝大部分)工具和形状,但这应该使你基本了解如何使用CSS创建形状,并且创建文字环绕图形的方式方法。
有些形状比其他形状需要更多的“技巧和窍门”。使用CSS创建形状通常是使用宽度,高度,顶部,右侧,左侧,边框,底部,变换和伪元素(例如:before和:after)的组合。我们还具有更现代的CSS属性,可使用诸如shape-outside和clip-path之类的形状来创建形状,这些内容我将在后面写出来。
*请认真填写需求信息,我们会在24小时内与您取得联系。