前端案例:酷我音乐项目(移动端自适应)(HTML+CSS)

news2024/12/23 19:35:16

一个简单的移动端案例,模拟不同设备下逻辑分辨率不同,宽高自适应

正常打开整体布局

打开 f12 (ctrl + shift + M)或者点击左上角图标,将其模拟为移动端设备

在移动设备iPhone6/7/8,逻辑分辨率375的整体布局

头部和底部的安装使用了 position: fixed; 固定,让头部和底部安装不会随着页面的滚动而产出变化

banner区域没有js,简单点看个样式,所以这里就是一张图片,但是图片宽高与banner区域宽高不同,

为了避免图片挤压变形,使用了 object-fit: cover;  缩放img

移动设备iPhone6/7/8,逻辑分辨率375,其banner图尺寸

现在切换设备为iPad Pro,逻辑分辨率为1024,此设备下banner图尺寸自适应

再切换设备为iPhone 4,逻辑分辨率为320,此设备下banner图尺寸自适应

源码

HTML(index.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="shortcut icon" href="favicon.ico" type="image/x-icon">
    <link rel="stylesheet" href="./iconfont/iconfont.css">
    <link rel="stylesheet" href="./css/index.css">
</head>
<body>
    <!-- 头部 -->
    <header>
        <div class="left"></div>
        <a href="#">下载APP</a>
    </header>

    <!-- 搜索 -->
    <div class="search">
        <div class="txt">
            <span class="iconfont icon-sousu2"></span>
            <span>搜索你想听的歌曲</span>
        </div>
    </div>

    <!-- banner -->
    <div class="banner">
        <ul>
            <li><a href="#"><img src="./assets/banner1.jpg" alt=""></a></li>
        </ul>
    </div>

    <!-- 排行榜 -->
    <div class="list">
        <!-- 标题 -->
        <div class="title">
            <h4>酷我排行榜</h4>
            <a href="#">更多<span class="iconfont icon-jiantou21"></span></a>
        </div>

        <!-- 内容 -->
        <div class="content">
            <ul>
                <li>
                    <div class="pic"><a href="https://m.kuwo.cn/newh5app/ranklist_detail/16"><img src="./assets/rank_hot.png" alt=""></a></div>
                    <div class="txt">
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/16" class="more">酷我热歌榜<span class="iconfont icon-jiantou21"></span></a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/16">1.有风无风皆自由(Live合唱版) - 王一佳</a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/16">2.苹果香(黑大婶版) - 黑大婶回乡带娃</a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/16">3.若月亮没来 (若是月亮还没来) - 王宇宙Leto&乔浚丞</a>
                    </div>
                </li>
                <li>
                    <div class="pic"><a href="https://m.kuwo.cn/newh5app/ranklist_detail/93"><img src="./assets/rank_rise.png" alt=""></a></div>
                    <div class="txt">
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/93" class="more">酷我飙升榜<span class="iconfont icon-jiantou21"></span></a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/93">1.童话镇 - 小野来了</a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/93">2.她才是你的天赐良缘 - 任夏</a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/93">3.空壳 - 周深</a>
                    </div>
                </li>
                <li>
                    <div class="pic"><a href="https://m.kuwo.cn/newh5app/ranklist_detail/17"><img src="./assets/rank_new.png" alt=""></a></div>
                    <div class="txt">
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/17" class="more">酷我新歌榜<span class="iconfont icon-jiantou21"></span></a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/17">1.适可而止 - 任夏</a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/17">2.童话镇(新版) - 陈雪凝</a>
                        <a href="https://m.kuwo.cn/newh5app/ranklist_detail/17">3.见一面少一面 - 半吨兄弟</a>
                    </div>
                </li>
            </ul>
        </div>
    </div>
    
    <!-- 推荐歌单 -->
    <div class="recommend">
        <!-- 标题 -->
        <div class="title">
            <h4>推荐歌单</h4>
            <a href="#">更多<span class="iconfont icon-jiantou21"></span></a>
        </div>

        <!-- 内容 -->
        <div class="content">
            <ul>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/playlist_detail/2996314807">
                        <div class="pic">
                                <img src="./assets/song01.jpg" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>1亿</div>
                        </div>
                        <div class="txt">经典老歌大放送!一人一首代表作!</div>
                    </a>
                </li>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/playlist_detail/3001661381">
                        <div class="pic">
                                <img src="./assets/song02.jpg" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>3713.5w</div>
                        </div>
                        <div class="txt">伤感情歌|不眠夜里的孤单心事</div>
                    </a>
                </li>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/playlist_detail/2802745654">
                        <div class="pic">
                                <img src="./assets/song03.jpg" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>4144.6w</div>
                        </div>
                        <div class="txt">【经典国语】老男人的情怀老男人的歌</div>
                    </a>
                </li>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/playlist_detail/3360244412">
                        <div class="pic">
                                <img src="./assets/song04.jpg" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>1239.6w</div>
                        </div>
                        <div class="txt">抖音流行丨网红歌曲随身听</div>
                    </a>
                </li>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/playlist_detail/2539910244">
                        <div class="pic">
                                <img src="./assets/song05.jpg" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>2515.6w</div>
                        </div>
                        <div class="txt">【燃爆】抖音中俘虏你耳朵的英文歌曲</div>
                    </a>
                </li>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/playlist_detail/2508547657">
                        <div class="pic">
                                <img src="./assets/song06.jpg" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>2810.6w</div>
                        </div>
                        <div class="txt">【伤感】对于你,我总是好了伤疤忘了疼</div>
                    </a>
                </li>
            </ul>
        </div>
    </div>

    <!-- 听书 -->
    <div class="listen">
        <!-- 标题 -->
        <div class="title">
            <h4>听书</h4>
            <a href="#">更多<span class="iconfont icon-jiantou21"></span></a>
        </div>

        <!-- 内容 -->
        <div class="content">
            <ul>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/radio_detail/10208722">
                        <div class="pic">
                                <img src="./assets/listen1.png" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>4208.7w</div>
                        </div>
                        <div class="txt">重温西游记,经典还是经典!</div>
                        <p>西游记影视剧原声续篇</p>
                    </a>
                </li>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/radio_detail/15390775">
                        <div class="pic">
                                <img src="./assets/listen2.png" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>881.5w</div>
                        </div>
                        <div class="txt">岳云鹏孙越十大爆笑相声</div>
                        <p>岳云鹏孙越爆笑相声合辑</p>
                    </a>
                </li>
                <li>
                    <a href="https://m.kuwo.cn/newh5app/radio_detail/17972243">
                        <div class="pic">
                                <img src="./assets/listen3.png" alt="">
                            <div class="cover"><span class="iconfont icon-bofang"></span>486.7w</div>
                        </div>
                        <div class="txt">元芳,你怎么看?</div>
                        <p>狄仁杰探案集</p>
                    </a>
                </li>
            </ul>
        </div>
    </div>

    <!-- 下载 -->
    <div class="download">
        <img src="./assets/logo.jpg" alt="">
        <p>安装酷我音乐 发现更多好音乐</p>
        <span class="iconfont icon-jiantou21"></span>
    </div>

    <!-- 尾部 -->
    <div class="footer">
        <div class="bottomtop">
            <img src="./assets/logo.jpg" alt="">
            <p>酷我音乐</p>
        </div>
        <div class="agreement">
            <a href="#"><p>服务协议&nbsp;&nbsp;|&nbsp;&nbsp;</p></a>
            <a href="#"><p>隐私政策&nbsp;&nbsp;|&nbsp;&nbsp;</p></a>
            <a href="#"><p>用户权限&nbsp;&nbsp;|&nbsp;&nbsp;</p></a>
            <p>联系电话: (010)87939999</p>
        </div>
        <div class="version">
            <p>应用版本:10.7.0.0  开发者:北京酷我科技有限公司</p>
        </div>
        <div class="comInto">
            <a href="#">公司简介<span class="iconfont icon-jiantou21"></span></a>
        </div>
    </div>
</body>
</html>

CSS样式(index.css)代码:

样式是在 less 里面编+计算,然后导出为 index.css

*,
::after,
::before {
  box-sizing: border-box;
}
body,
ul,
ol,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}
body {
  font-family: -apple-system, BlinkMacSystemFont, PingFangSC-Regular, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  color: #333;
}
a {
  color: #333;
  text-decoration: none;
  -webkit-tap-highlight-color: regb(0, 0, 0, 0);
}
ul {
  list-style-type: none;
}
li {
  list-style: none;
}
img {
  vertical-align: bottom;
}
body {
  background-color: #f9fafb;
}
header {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 13.32622601vw;
  background-color: #fff;
  box-shadow: 0px 4vw 3.6vw -5.067vw rgba(211, 220, 236, 0.77);
}
header .left {
  width: 55.97014925vw;
  height: 13.32622601vw;
  background: url(../assets/tophead.jpg);
  background-size: contain;
}
header a {
  margin-right: 3.9978678vw;
  width: 23.32089552vw;
  height: 7.99573561vw;
  background-color: #ffe31b;
  text-align: center;
  line-height: 7.99573561vw;
  border-radius: 3.9978678vw;
  font-size: 3.46481876vw;
  color: rgba(0, 0, 0, 0.8);
}
.search {
  margin-top: 13.32622601vw;
  padding: 2.6652452vw 3.9978678vw;
  height: 13.85927505vw;
}
.search .txt {
  height: 8.52878465vw;
  background-color: #f2f4f5;
  border-radius: 4.26439232vw;
  text-align: center;
  line-height: 8.52878465vw;
  color: #a1a4b3;
  font-size: 3.73134328vw;
}
.search .txt .iconfont {
  font-size: 5.06396588vw;
  margin-right: 0.26652452vw;
  vertical-align: bottom;
}
.banner {
  padding: 0 3.9978678vw;
  height: 28.78464819vw;
}
.banner ul li {
  width: 91.95095949vw;
  height: 28.78464819vw;
}
.banner ul li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2.13219616vw;
}
.list {
  margin-top: 5.33049041vw;
  margin-bottom: 7.99573561vw;
  padding: 0 3.9978678vw;
}
.list li {
  display: flex;
  margin-bottom: 4.26439232vw;
  height: 27.98507463vw;
  background-color: #fff;
  border-radius: 3.9978678vw;
}
.list li .pic {
  margin-right: 5.33049041vw;
}
.list li .pic img {
  width: 27.98507463vw;
  height: 27.98507463vw;
  border-radius: 3.9978678vw;
}
.list li .txt a {
  display: block;
  font-size: 3.19829424vw;
  color: #a1a4b3;
  line-height: 1.8;
  width: 55.97014925vw;
  text-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.list li .txt .more {
  font-size: 3.73134328vw;
  color: #333;
}
.list li .txt .more .iconfont {
  font-size: 4.26439232vw;
}
.title {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4.26439232vw;
  line-height: 6.66311301vw;
}
.title h4 {
  font-size: 5.33049041vw;
}
.title a {
  font-size: 3.19829424vw;
  color: #a1a4b3;
}
.title a .iconfont {
  font-size: 3.19829424vw;
}
.recommend {
  padding: 0 3.9978678vw;
  margin-bottom: 4.26439232vw;
}
.recommend ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.recommend ul li {
  margin-bottom: 4.26439232vw;
  width: 27.98507463vw;
  height: 38.1130064vw;
}
.recommend ul li .pic {
  position: relative;
  width: 27.98507463vw;
  height: 27.98507463vw;
}
.recommend ul li .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3.9978678vw;
}
.recommend ul li .pic .cover {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 2.6652452vw;
  height: 7.59594883vw;
  text-align: center;
  line-height: 7.59594883vw;
  color: #fff;
  font-size: 3.46481876vw;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 0 3.9978678vw;
}
.recommend ul li .pic .cover .iconfont {
  font-size: 4.26439232vw;
  margin-right: 0.79957356vw;
}
.recommend ul li .txt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  width: 26.65245203vw;
  height: 10.66098081vw;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 3.73134328vw;
}
.listen {
  padding: 0 3.9978678vw;
  margin-bottom: 4.79744136vw;
}
.listen ul {
  display: flex;
  justify-content: space-between;
}
.listen ul li {
  margin-bottom: 4.26439232vw;
  width: 27.98507463vw;
  height: 38.1130064vw;
}
.listen ul li .pic {
  position: relative;
  width: 27.98507463vw;
  height: 27.98507463vw;
}
.listen ul li .pic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3.9978678vw;
}
.listen ul li .pic .cover {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 2.6652452vw;
  height: 7.59594883vw;
  text-align: center;
  line-height: 7.59594883vw;
  color: #fff;
  font-size: 3.46481876vw;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 0 3.9978678vw;
}
.listen ul li .pic .cover .iconfont {
  font-size: 4.26439232vw;
  margin-right: 0.79957356vw;
}
.listen ul li .txt {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  width: 26.65245203vw;
  height: 10.66098081vw;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 3.73134328vw;
}
.listen ul li p {
  font-size: 2.93176972vw;
  color: #a1a4b3;
  text-wrap: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.download {
  position: fixed;
  left: 7.99573561vw;
  bottom: 7.99573561vw;
  display: flex;
  align-items: center;
  padding: 0 2.6652452vw 0 4.79744136vw;
  width: 85.28784648vw;
  height: 11.99360341vw;
  border-radius: 6.79637527vw;
  background-color: #fff;
  box-shadow: 0.267vw 0 5.467vw 1px rgba(232, 235, 241, 0.73);
}
.download img {
  margin-right: 1.3326226vw;
  width: 9.86140725vw;
  height: 9.86140725vw;
}
.download p {
  flex: 1;
  font-weight: 700;
  font-size: 3.73134328vw;
}
.download .iconfont {
  width: 7.19616205vw;
  height: 7.19616205vw;
  background-color: #f2f4f5;
  border-radius: 50%;
  line-height: 7.19616205vw;
  text-align: center;
  font-weight: 700;
  font-size: 3.73134328vw;
}
.footer {
  margin-top: 15.45842217vw;
  margin-bottom: 28.67803838vw;
  height: 23.18763326vw;
  font-size: 2.93176972vw;
  text-align: center;
}
.footer .bottomtop {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.footer .bottomtop img {
  width: 5.86353945vw;
  height: 6.26332623vw;
  vertical-align: bottom;
}
.footer .bottomtop p {
  font-size: 3.73134328vw;
  margin-left: 1.59914712vw;
}
.footer .agreement {
  margin-top: 2.53198294vw;
  display: flex;
  justify-content: center;
}
.footer .agreement a,
.footer .agreement p {
  color: #a1a4b3;
}
.footer .version {
  color: #a1a4b3;
  line-height: 5.33049041vw;
}
.footer .comInto a {
  color: #a1a4b3;
  line-height: 4.26439232vw;
}
.footer .comInto a .iconfont {
  font-size: 3.73134328vw;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2041245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚幻5|角色武器装备的数据库学习(不只是用来装备武器,甚至是角色切换也很可能用到)

虚幻5|在连招基础上&#xff0c;给角色添加武器并添加刀光|在攻击的时候添加武器并返回背后&#xff08;第一部分&#xff0c;下一部分讲刀光&#xff09;_unreal 如何给角色添加攻击-CSDN博客 目的&#xff1a;捡起各种不同的武器&#xff0c;捡起的武器跟装备的武器相匹配 …

C语言日常练习 Day15

目录 一、猴子吃桃问题。 二、两个乒乓球队进行比赛&#xff0c;各出3个人。甲队为A&#xff0c;B&#xff0c;C3人&#xff0c;乙队为X&#xff0c;Y,Z3人。已抽签决定比赛名单。有人向队员打听比赛的名单&#xff0c;A说他不和X比赛&#xff0c;C说他不和X&#xff0c;Z比赛…

Java爬虫中的数据清洗:去除无效信息的技巧

在互联网信息爆炸的时代&#xff0c;数据的获取变得异常容易&#xff0c;但随之而来的是数据质量的问题。对于Java爬虫开发者来说&#xff0c;如何从海量的网页数据中清洗出有价值的信息&#xff0c;是一个既基础又关键的步骤。本文将介绍Java爬虫中数据清洗的重要性&#xff0…

VBA自动发邮件如何配置SMTP实现外部发送?

VBA自动发邮件的教程&#xff1f;如何利用VBA自动化发送邮件&#xff1f; 在使用VBA进行自动化办公任务时&#xff0c;自动发送邮件是一项非常实用的功能。AokSend将详细介绍如何通过VBA自动发邮件&#xff0c;并配置SMTP实现外部发送的过程。 VBA自动发邮件&#xff1a;准备…

前端开发攻略---彻底弄懂跨域解决方案

目录 1、浏览器的同源策略 1.1 源 1.2 同源与非同源 1.3 同源请求与非同源请求 2、跨域受到的限制 3、注意点 4、CORS解决Ajax跨域问题 4.1 CORS概述 4.2 CORS解决简单请求跨域 4.3 简单请求与复杂请求 4.4 CORS解决复杂请求跨域 4.5 借助CORS库快速完成配置 5、JS…

Daiqile SQL注入绕过

上源码。 <?php header("Content-type: text/html; charsetutf-8"); require db.inc.php;function dhtmlspecialchars($string) {if (is_array($string)) {foreach ($string as $key > $val) {$string[$key] dhtmlspecialchars($val);}}else {$string str_…

【C++】掌握C++类的六个默认成员函数:实现高效内存管理与对象操作

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇 本篇为大家分享下在C学习中较为具有挑战与难度&#xff0c;同时也是很重要知识。掌握C类的六个默认成员函数&#xff0c;使得在模拟实现STL中容器过程得心应…

企业必备:2024年顶尖10款人事管理系统

本篇文章介绍了以下几个工具&#xff1a;Moka、卓望ShineHR、华夏HR云、中智人事、i人事、北森iTalentX、红海云、Zenefits、ICE Hrm、ADempiere。 在选择合适的人事管理系统时&#xff0c;很多企业面临如何找到既可靠又能满足特定需求的平台的难题。每个系统都有其独特之处&am…

前端工程化-03.环境准备

一.前端工程化 既然要实现前端工程化&#xff0c;那就要使用一些现成的工具来帮助我们实现&#xff0c;这个工具就是vue官方提供的脚手架 首先就要下载安装vue脚手架 二.什么是vue脚手架 三.安装NodeJS 1.先安装NodeJS才能安装vue脚手架。 Node.js — 在任何地方运行 Jav…

window.onload、$(document).ready()、Vue.created() 页面加载完成后执行方法

1、JavaScript 的 window.onload 方法 window.onload 方法是在页面所有元素&#xff08;包括图片、样式、链接等&#xff09;加载完成后触发的&#xff0c;在这个事件之前&#xff0c;页面上的所有资源都必须加载完成。因此&#xff0c;如果页面中包含大量的图片或其他资源&am…

【科目结转】财务科目结转

*&---------------------------------------------------------------------* *&程序名称 &#xff1a;ZFI134 *&程序描述 : 9003差异科目结转 &#xff08;批量操作 F.02 / 查询 FB03) *&申请单位 …

qt quick实现的水波纹特效:横向波纹、纵向波纹效果

qml实现的水波纹特效 1.横向波纹效果2.另一种效果&#xff08;纵向波纹&#xff09; 一直以来使用c qt如果要实现一些高级特效比如水波纹效果都难度比较大&#xff0c;但是使用qt quick难度就会小很多。这里借鉴一些网友的思路简单实现一下水波纹效果。主要思路就是波浪的形成是…

Aigtek高压放大器在无线电能传输的应用范围

无线电能传输是一种重要的技术&#xff0c;广泛应用于电力、通信和工业领域。高压放大器作为无线电能传输系统中的关键组件之一&#xff0c;扮演着放大信号、提高传输效率的重要角色。 无线电能传输是一种将电能通过无线电波或磁场从发送器传输到接收器的技术。它可以实现远距离…

web自动化测试Day4

目标 下拉选择框&#xff1b;弹出框&#xff1b;滚动条操作&#xff1b;frame表单切换&#xff1b;多窗口切换&#xff1b;窗口截图、验证码处理 定位下拉框 select选择框 下标从0开始 #通过下标形式访问 #通过value值形式访问 注意事项 实例化select时候&#xff0c;需要…

如何选择正规的调度控制台厂家?

在现代社会&#xff0c;随着各行各业对高效、安全管理的需求日益增长&#xff0c;调度控制台作为监控与指挥的核心设备&#xff0c;其重要性不言而喻。然而&#xff0c;市场上调度控制台厂家众多&#xff0c;产品质量与服务水平参差不齐&#xff0c;如何从中挑选出正规、可靠的…

Java设计模式之中介者模式:解耦对象交互的秘诀!

中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为设计模式&#xff0c;用于降低多个对象或类之间的通信复杂性。通过引入一个中介者对象&#xff0c;这些对象无需显式地相互引用&#xff0c;而是通过中介者对象进行交互&#xff0c;从而减少对象之间的直接交互&a…

minikube 实践练习3 - 扩容/缩容

多实例运行 参考文档&#xff1a;https://kubernetes.io/docs/tutorials/kubernetes-basics/scale/scale-intro/ 1. 创建类型为 LoadBalancer的service [weihengweihengminikube root]$ kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) …

构建openGauss-Lite-5.0.2-openEuler基础镜像

构建opengauss数据库基础镜像&#xff0c;需要克服几个困难&#xff1a; 1、使用root和opengauss普通用户来回切换&#xff1a;如果使用Dockerfile中RUN指令&#xff0c;执行su - user切换不生效。 2、需要设置sysctl内核参数&#xff1b;但是&#xff0c;即便使用了--privil…

SPDK源码剖析一hello_world程序

SPDK初识之hello_world程序分析 首先是hello_world程序整体框架分析 int main(int argc, char **argv) {rc parse_args(argc, argv, &opts);if (spdk_env_init(&opts) < 0) { // spdk环境初始化&#xff0c;最终调用dpdk环境初始化}// 扫描设备&#xff0c;将驱…

KEEPALIVED高可用集群最详解

目录 一、高可用集群 1.1 集群的类型 1.2 实现高可用 1.3 VRRP&#xff1a;Virtual Router Redundancy Protocol 1.3.1 VRRP相关术语 1.5.2 VRRP 相关技术 二、部署KEEPALIVED 2.1 keepalived 简介 2.2 Keepalived 架构 2.3 Keepalived 环境准备 2.3.1 实验环境 2…