HTML+CSS制作DNA双螺旋结构

简介: HTML+CSS制作DNA双螺旋结构

HTML+CSS制作DNA双螺旋结构

效果图如下:

HTML部分源代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>双螺旋结构</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
    <div class="item">
        <div class="line"></div>
    </div>
</body>
</html>

CSS部分源代码如下:

:root {
    --background-color: #2c3e50;
    --line-color: slategray;
}
* {
    margin: 0;
    padding: 0;
}
body {
    width: 100vw;
    height: 100vh;
    background-color: var(--background-color);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.item {
    position: relative;
    width: 120px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    /* background-color: cadetblue; */
}
.item .line {
    width: 120px;
    height: 3px;
    background-color: var(--line-color);
    animation: line_width_change 1s linear infinite;
}
@keyframes line_width_change {
    0%, 100% {
        width: 100%;
    }
    50% {
        width: 0%;
    }
}
.item::before, .item::after {
    position: absolute;
    content: "";
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: yellow;
}
.item::before {
    background-color: salmon;
    left: -15px;
    animation: circle_move1 2s linear infinite;
    z-index: 100;
}
.item::after {
    background-color: seagreen;
    right: -15px;
    animation: circle_move2 2s linear infinite;
    z-index: 200;
}
@keyframes circle_move1 {
    0% {
        left: -15px;
        width: 30px;
        height: 30px;
        z-index: 100;
    }
    25% {
        width: 25px;
        height: 25px;
    }
    50% {
        left: 105px;
        width: 30px;
        height: 30px;
    }
    75% {
        width: 35px;
        height: 35px;
    }
    100% {
        left: -15px;
        width: 30px;
        height: 30px;
        z-index: 200;
    }
}
@keyframes circle_move2 {
    0% {
        right: -15px;
        width: 30px;
        height: 30px;
        z-index: 200;
    }
    25% {
        width: 35px;
        height: 35px;
    }
    50% {
        right: 105px;
        width: 30px;
        height: 30px;
    }
    75% {
        width: 25px;
        height: 25px;
    }
    100% {
        right: -15px;
        width: 30px;
        height: 30px;
        z-index: 100;
    }
}
.item:nth-child(1) .line, .item:nth-child(1)::before, .item:nth-child(1)::after {
    animation-delay: 0.1s;
}
.item:nth-child(2) .line, .item:nth-child(2)::before, .item:nth-child(2)::after {
    animation-delay: 0.2s;
}
.item:nth-child(3) .line, .item:nth-child(3)::before, .item:nth-child(3)::after {
    animation-delay: 0.3s;
}
.item:nth-child(4) .line, .item:nth-child(4)::before, .item:nth-child(4)::after {
    animation-delay: 0.4s;
}
.item:nth-child(5) .line, .item:nth-child(5)::before, .item:nth-child(5)::after {
    animation-delay: 0.5s;
}
.item:nth-child(6) .line, .item:nth-child(6)::before, .item:nth-child(6)::after {
    animation-delay: 0.6s;
}
.item:nth-child(7) .line, .item:nth-child(7)::before, .item:nth-child(7)::after {
    animation-delay: 0.7s;
}
.item:nth-child(8) .line, .item:nth-child(8)::before, .item:nth-child(8)::after {
    animation-delay: 0.8s;
}
.item:nth-child(9) .line, .item:nth-child(9)::before, .item:nth-child(9)::after {
    animation-delay: 0.9s;
}
.item:nth-child(10) .line, .item:nth-child(10)::before, .item:nth-child(10)::after {
    animation-delay: 1s;
}


相关文章
|
23天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
46 7
|
23天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
31 6
|
23天前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
35 5
|
23天前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
27 5
|
1月前
|
移动开发 前端开发 JavaScript
[HTML、CSS]细节与使用经验
本文总结了前端开发中的一些重要细节和技巧,包括CSS选择器、定位、层级、全局属性、滚轮控制、轮播等。作者以纯文字形式记录,便于读者使用<kbd>Ctrl + F</kbd>快速查找相关内容。文章还提供了示例代码,帮助读者更好地理解和应用这些知识点。
46 1
[HTML、CSS]细节与使用经验
|
1月前
|
移动开发 JavaScript 前端开发
html table+css实现可编辑表格的示例代码
html table+css实现可编辑表格的示例代码
58 12
|
1月前
|
前端开发 JavaScript
用HTML CSS JS打造企业级官网 —— 源码直接可用
必看!用HTML+CSS+JS打造企业级官网-源码直接可用,文章代码仅用于学习,禁止用于商业
124 1
|
1月前
|
前端开发 JavaScript 安全
HTML+CSS+JS密码灯登录表单
通过结合使用HTML、CSS和JavaScript,我们创建了一个带有密码强度指示器的登录表单。这不仅提高了用户体验,还帮助用户创建更安全的密码。希望本文的详细介绍和代码示例能帮助您在实际项目中实现类似功能,提升网站的安全性和用户友好性。
46 3
|
4月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果
下一篇
DataWorks