你不知道的前端艺术:代码敲击乐

引言

在数字时代,前端开发不仅仅是技术的堆砌,更是一门艺术。如果说后端是产品的骨骼,那么前端就是其肌肤,赋予了产品以生命和灵魂。本文将通过一个具体的例子------创建一个静态的代码敲击乐界面,来探讨HTML+CSS在前端开发中的应用。

废话少说,先看结果

编写静态页面

今天的内容先从简单的开始,先编写一个静态的页面,只包含了html和css部分。编写静态页面的第一步是构建HTML结构。HTML是网页的骨架,定义了页面的基本结构和内容。在这个案例中,我们将使用HTML来搭建一个简单的敲击乐界面,其中包含多个键位,每个键位由一个div和一个span组成,分别代表按键的外观和显示的文字。div是块级元素,独自占一行。span是行内元素,可以与其他行内元素在同一行。例如,一个基本的键位HTML结构可能如下所示:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>HTML5 敲击乐</title>
    <link rel="stylesheet" href="./common.css">
</head>
<body>
    <div class="keys">
        <div class="key">
            <div>A</div>
            <span class="sound">clap</span>
        </div>
        <div class="key">
            <div>S</div>
            <span class="sound">hihat</span>
        </div>
        <div class="key">
            <div>D</div>
            <span class="sound">kick</span>
        </div>
        <div class="key">
            <div>F</div>
            <span class="sound">openhat</span>
        </div>
        <div class="key">
            <div>G</div>
            <span class="sound">boom</span>
        </div>
        <div class="key">
            <div>H</div>
            <span class="sound">ride</span>
        </div>
        <div class="key">
            <div>J</div>
            <span class="sound">snare</span>
        </div>
        <div class="key">
            <div>K</div>
            <span class="sound">tom</span>
        </div>
        <div class="key">
            <div>L</div>
            <span class="sound">tink</span>
        </div>
    </div>
</body>
</html>

这里,.keys类名下的所有.key都是键位,每个键位内部又包含了两个子元素:一个div用于展示按键的视觉效果,一个span则用来显示按键对应的音效名称。

HTML与CSS的角色

在前端开发中,HTML和CSS各自扮演着不同的角色。如果把网页比作一部电影,那么HTML就是演员,它提供了所有的角色和场景;而CSS则是化妆师,负责给这些角色和场景增添色彩和风格。在我们的敲击乐示例中,我们可以为.keys.key设置样式,使它们看起来更像真实的键盘:

css 复制代码
html {
    height: 100%; 
    font-size: 10px;   /*设置字体大小*/
    background: url('./background.jpg') bottom center no-repeat;  /*背景底部居中,不重复*/
    background-size: cover;  /*覆盖整个盒子*/
}

.keys {
    display: flex;   /*弹性布局*/
    flex: 1;   /*子元素占满整个多余部分而不挤压*/
    height: 100vh; /*视图高度*/
    align-items: center; /*垂直居中*/
    justify-content: center;/*水平居中*/ 
}

.key {
    border: 4px solid black; /*设置边框*/
    border-radius: 5px; /*设置弧度*/
    margin: 10px; /*外边距*/
    font-size: 15px; 
    padding: 10px 5px;/*内边距*/
    width: 100px; 
    color: white; 
    background: rgba(0, 0, 0,.4);/*背景色*/ 
    box-shadow: 0 0 5px black; /*阴影*/
    text-align: center; 
}

.key div {
    font-size: 40px; 
}

.key.sound {
    font-size: 12px; 
    text-transform: uppercase; /*文本转换为大写*/
    letter-spacing: 1px; /*字母间距*/
    color: #ffc600; 
}

这段CSS代码不仅设置了键位的基本样式,还利用了弹性布局(display: flex)来确保所有键位整齐排列,并且可以通过justify-contentalign-items属性调整它们的位置。弹性布局是非常复杂的,在这里我们只用到了一些比较基础的用法。在以后的文章中,我们将对弹性布局进行深入的探讨。

总结

通过这个简单的敲击乐项目,我们不仅了解了HTML5在前端开发中的基础作用,还简单学习了如何利用CSS中的弹性布局。希望这篇文章能帮助你更好地理解和掌握前端开发的核心概念和技术,激发你在前端领域的创造力和热情。

相关推荐
秦jh_11 分钟前
【Linux】多线程(概念,控制)
linux·运维·前端
蜗牛快跑21324 分钟前
面向对象编程 vs 函数式编程
前端·函数式编程·面向对象编程
Dread_lxy25 分钟前
vue 依赖注入(Provide、Inject )和混入(mixins)
前端·javascript·vue.js
涔溪1 小时前
Ecmascript(ES)标准
前端·elasticsearch·ecmascript
榴莲千丞1 小时前
第8章利用CSS制作导航菜单
前端·css
奔跑草-1 小时前
【前端】深入浅出 - TypeScript 的详细讲解
前端·javascript·react.js·typescript
羡与2 小时前
echarts-gl 3D柱状图配置
前端·javascript·echarts
guokanglun2 小时前
CSS样式实现3D效果
前端·css·3d
咔咔库奇2 小时前
ES6进阶知识一
前端·ecmascript·es6
渗透测试老鸟-九青2 小时前
通过投毒Bingbot索引挖掘必应中的存储型XSS
服务器·前端·javascript·安全·web安全·缓存·xss