博客
关于我
Python修炼之道V1.0
阅读量:802 次
发布时间:2019-03-25

本文共 1375 字,大约阅读时间需要 4 分钟。

Python修炼之道V1.0 - 关于HTML和CSS学习总结

在这里插入图片描述

作为一名程序猿,我经常会在工作中遇到各种有趣的UI制作需求。最近,我尝试利用HTML和CSS制作一个简单的动画装饰,想来记录下我的思考过程。

在这里插入图片描述

想象一下,这个小红球似乎是漂浮在一个白色的边框圆圈中,每当我们鼠标指向它时,它会旋转得跟个酷毙了!这个效果其实并不复杂,但从设计到实现的过程中,饶有许多可以探讨的点。

让我们一起看看如何实现这个效果吧。

在这里插入图片描述

如何制作一个旋转的小红球?

在这里插入图片描述

这个想法源于我在某个设计平台上看到的灵感。把红色小球放在一个白色圆框里,用CSS动画旋转,这样的效果似乎随手可得。以下是实现的关键步骤:

首先,我们需要为这个小红球准备一个base——也就是一个白色的圆框。

然后,利用HTML中的span元素分别为两个修饰图层添加内容。一个在左上角,一个在右下角,这样它们的位置就可以通过绝对定位来精确控制。

接下来,用CSS为修饰层添加圆角处理,让它们看起来更为柔软。

最后,为整个容器添加旋转动画,这样当页面加载时,就能看到蜘蛛侠般转圈圈的小红球了。

实现步骤如下:

步骤1:为小红球制作一个白色圆框

在这里插入图片描述

用span标记一个96✖️96的正方形,并为它添加一个10px的白色边框。

步骤2:为修饰层添加红色球

在这里插入图片描述

分别通过::before和::after伪类添加两个红色小球,并设置它们的绝对定位。这样,我们可以将这两个修饰件分别放在圆框的左上角和右下角。

步骤3:将修饰件移入背景

在这里插入图片描述

为了让红球在装饰的位置上,需要对这两个修饰层进行微调。具体来说,就是将它们的位置设置为以下值:

span::before {position: absolute;top: -15px;left: -15px;}span::after {position: absolute;bottom: -15px;right: -15px;}

这样一来,两个红色小球就在圆框的内外边缘形成了一道优美的装饰线。

步骤4:添加圆角

在这里插入图片描述

为了增加视觉效果,我们对所有相关的box元素都添加了 border-radius: 50%; 这样才能让它们看起来更为柔软、更具现代感。

步骤5:为容器添加旋转动画

在这里插入图片描述

最后,为整个白色圆框添加了旋转动画。这样,当页面加载的时候,里面的红球就会开始循环旋转,仿佛在向你打招呼。

使用@keyframes animation语法,我们可以精确控制动画的时长和转速。最终实现了无限循环的旋转效果。

这样,整个装饰物就完成了。于是,我们就可以在网页上轻松地添加这样的动画效果,来增加页面的趣味性和观赏性。

在这里插入图片描述

这个过程虽然简单,但是从发现灵感、到具体实现,每一个细节都需要认真思考。通过这个例子,我们可以更深入地理解CSS的高级特性以及它在UI设计中的实际应用。

希望这个小例子能为大家带来灵感!如果你也有类似的创意,欢迎随时分享!来一起看看吧!

作品展现了现在在学习的C++和Linuxفي努力中,一切都显得有点难~不过,用HTML和CSS做点简单的 UI 细节,还能让人充分感受创造力的乐趣!

转载地址:http://eotyk.baihongyu.com/

你可能感兴趣的文章
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
查看>>
no connection could be made because the target machine actively refused it.问题解决
查看>>
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named 'pandads'
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No static resource favicon.ico.
查看>>
no such file or directory AndroidManifest.xml
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>