整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

纯CSS写一个环绕动画效果

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之类的形状来创建形状,这些内容我将在后面写出来。