css实现圆环旋转加载

html-css024

css实现圆环旋转加载,第1张

css实现圆环旋转加载

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>css实现圆环旋转加载</title>

<style>

*{

margin:0

padding:0

}

#outbox{

position:relative/*相对定位*/

width:100px/*宽度100px*/

height:100px/*高度100px*/

background:orange/*背景色橙色*/

border-radius:50%/*圆角50%*/

margin:100px/*外侧边距100px*/

}

#outbox::before{/*前置伪元素*/

content:""/*内容空*/

display:block/*块元素*/

position:absolute/*绝对定位*/

width:80px/*宽度80px*/

height:80px/*高度80px*/

left:10px/*左边距10px*/

top:10px/*距离顶部10px*/

border-radius:50%/*圆角50%*/

background:white/*背景色白色*/

}

#outbox::after{/*后置伪元素*/

content:""/*内容为空*/

display:block/*转为块元素*/

position:absolute/*绝对定位*/

width:100px/*宽度100px*/

height:100px/*高度100px*/

top:0/*距离父容器顶部边距0*/

left:0/*距离入容器左边距0*/

border-radius:50%/*圆角50%*/

background:white/*背景色白色*/

animation:myfirst 1s both linear infinite/*绑定动画。为了看清楚效果,设置动画反复执行。使用的时候只执行一次就好了*/

-webkit-animation:myfirst 1s both linear infinite/* Safari and Chrome */

}

@keyframes myfirst/*动画开始*/

{

0%{

-webkit-clip-path: polygon(50% 50%, 100% 0, 100% 100%, 0 100%, 0 0, 100% 0)/*不裁剪的初始效果*/

clip-path: polygon(50% 50%, 100% 0, 100% 100%, 0 100%, 0 0, 100% 0)

}

40%{

-webkit-clip-path: polygon(50% 50%, 100% 0, 100% 100%, 0 100%, 0 0, 0 0)/*裁剪四分之一*/

clip-path: polygon(50% 50%, 100% 0, 100% 100%, 0 100%, 0 0, 0 0)

}

60%{

-webkit-clip-path: polygon(50% 50%, 100% 0, 100% 100%, 0 100%, 0 100%, 0 100%)/*裁剪四分之二*/

clip-path: polygon(50% 50%, 100% 0, 100% 100%, 0 100%, 0 100%, 0 100%)

}

90%{

-webkit-clip-path: polygon(50% 50%, 100% 0, 100% 100%, 100% 100%, 100% 100%, 100% 100%)/*裁剪四分之三*/

clip-path: polygon(50% 50%, 100% 0, 100% 100%, 100% 100%, 100% 100%, 100% 100%)

}

100%{

-webkit-clip-path: polygon(50% 50%, 100% 0, 100% 100%, 100% 0, 100% 0, 100% 0)/*裁剪四分之四*/

clip-path: polygon(50% 50%, 100% 0, 100% 100%, 100% 0, 100% 0, 100% 0)

}

}

</style>

</head>

<body>

<div id="outbox"></div>

</body>

</html>

<!--裁剪比较粗糙,如果要更顺滑,可以裁剪得更细腻一点,比如裁剪十分之一,十分之二,十分之三,以此类推一直到十分之十。-->

<style type="text/css">

#wen01 ol {/*大类列表样式设置*/

margin: 0px

padding: 0px

width: 675px

list-style-type: none

}

#wen01 ol li.lv1_nav {/*大类列表分项样式设置*/

margin: 0px

padding: 0px

float: left

width: 223px

border: 1px solid red

}

#wen01 ol li ul {/*小类列表样式设置*/

margin: 0px

padding: 0px

list-style-type: none

}

#wen01 ol li ul li {/*小类列表分项样式设置*/

margin: 0px

padding: 0px

float: left

}

</style>

<div id="wen01">

<ol>

<li class="lv1_nav">

<h4>国家</h4>

<ul>

<li>中国;</li>

<li>美国;</li>

<li>日本;</li>

<li>德国;</li>

<li>法国;</li>

<li>苏联;</li>

<li>越南;</li>

<li>巴西;</li>

</ul>

</li>

<li class="lv1_nav">

<h4>运动</h4>

<ul>

<li>足球;</li>

<li>篮球;</li>

<li>怕球;</li>

<li>羽毛球;</li>

<li>藤球;</li>

<li>水球;</li>

<li>棒球;</li>

<li>高尔夫球;</li>

</ul>

</li>

<li class="lv1_nav">

<h4>物品</h4>

<ul>

<li>电器;</li>

<li>家具;</li>

<li>椅子;</li>

<li>桌子;</li>

<li>电视;</li>

<li>电扇;</li>

<li>电脑;</li>

</ul>

</li>

</ol>

</div>

首先,你的代码有点乱呃。

然后是问题的答案:

问题就出在:

#wen01 ol li {/*大类列表分项样式设置*/

你这里是给ol下所有的li加入了属性,包括二级分类,“width: 225px”的属性也带给了二级分类的li,所以二级分类的宽度和一级分类一样宽了,自然就会被“撑”成了纵向排列。

解决办法:你只需要给一级分类赋予class名即可。