样式预览
交互分析
点击标题栏,标题变红、箭头反向、内容部分缓慢出现
思路分析
点击标题变红,箭头反向很简单,只需要给元素添加点击事件,修改对应元素的color属性与background-image属性即可。
内容部分缓慢出现也是控制其css样式,修改他的max-height最高高度即可,只不过在css中需要用transition。关键代码:transition: max-height 0.4s linear 0s;(transition属性详解参考地址)
代码实现
html
<link rel="stylesheet" href="./css/standard-8.css">
<div id="standard-8">
<h2 class="title">
八类标准开发,共享华为整机能力
</h2>
<div class="standard-list">
<div class="standard-view">
<div class="view-title-box">
<img src="./img/icon_zhengji.svg" class="view-title-icon" alt="">
<h5 class="view-title-text">整机架构标准</h5>
<div class="up-down-icon"></div>
</div>
<div class="p-box">
<p class="view-introduce">
定义鲲鹏计算架构,演进性、竞争力,业务场景等标准
</p>
</div>
</div>
<div class="standard-view">
<div class="view-title-box">
<img src="./img/icon_zhuban.svg" class="view-title-icon" alt="">
<h5 class="view-title-text">主板硬件标准</h5>
<div class="up-down-icon"></div>
</div>
<div class="p-box">
<p class="view-introduce">
定义规格,尺寸,安装、接口等标准
</p>
</div>
</div>
<div class="standard-view">
<div class="view-title-box">
<img src="./img/icon_bujian.svg" class="view-title-icon" alt="">
<h5 class="view-title-text">部件标准</h5>
<div class="up-down-icon"></div>
</div>
<div class="p-box">
<p class="view-introduce">
定义FlexIo、风扇板、riser、挂耳、硬盘背板等接口和设计标准定义电源接口和设计规范
</p>
</div>
</div>
<div class="standard-view">
<div class="view-title-box">
<img src="./img/icon_jixiang.svg" class="view-title-icon" alt="">
<h5 class="view-title-text">机箱标准</h5>
<div class="up-down-icon"></div>
</div>
<div class="p-box">
<p class="view-introduce">
定义整机设计可靠性/屏效/供配电/安规设计等规范 定义结构形式/尺寸/安装接口/等标准
</p>
</div>
</div>
<div class="standard-view">
<div class="view-title-box">
<img src="./img/icon_BMC.svg" class="view-title-icon" alt="">
<h5 class="view-title-text">BMC标准</h5>
<div class="up-down-icon"></div>
</div>
<div class="p-box">
<p class="view-introduce">
定义BMC功能、安全、接口、部件管理接口、电源管理接口、可管理性等规范
</p>
</div>
</div>
<div class="standard-view">
<div class="view-title-box">
<img src="./img/icon_BIOS.svg" class="view-title-icon" alt="">
<h5 class="view-title-text">BIOS标准</h5>
<div class="up-down-icon"></div>
</div>
<div class="p-box">
<p class="view-introduce">
定义BIOS功能、硬件部件适配、软件接口、RAS、安全、节能管理等规范
</p>
</div>
</div>
<div class="standard-view">
<div class="view-title-box">
<img src="./img/ICON_ceping.svg" class="view-title-icon" alt="">
<h5 class="view-title-text">测评标准</h5>
<div class="up-down-icon"></div>
</div>
<div class="p-box">
<p class="view-introduce">
定义能效评测、测试工具和部件兼容性等规范
</p>
</div>
</div>
<div class="standard-view">
<div class="view-title-box">
<img src="./img/icon_yunwei.svg" class="view-title-icon" alt="">
<h5 class="view-title-text">运维标准</h5>
<div class="up-down-icon"></div>
</div>
<div class="p-box">
<p class="view-introduce">
定义运营维护规范标准
</p>
</div>
</div>
</div>
</div>
<script src="./js/standard-8.js"></script>
css
#standard-8 {
background: url(../img/img_beijing1.png) no-repeat center;
background-size: 100% 100%;
width: 100%;
height: 536px;
}
#standard-8 .title {
width: 100%;
text-align: center;
padding-top: 56px;
color: #253b3a;
line-height: 36px;
font-size: 24px;
font-weight: bold;
}
#standard-8 .standard-list {
width: 1200px;
margin: 40px auto 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#standard-8 .standard-view {
padding: 34px 17px 0px 30px;
width: 288px;
height: 160px;
box-sizing: border-box;
background: white;
box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.1);
margin-bottom: 16px;
}
#standard-8 .view-title-box {
width: 100%;
display: flex;
height: 33px;
}
#standard-8 .view-title-icon {
width: 33px;
height: 33px;
}
#standard-8 .view-title-text {
font-size: 18px;
line-height: 33px;
color: #253b3a;
padding-left: 9px;
margin: 0;
font-weight: bold;
}
#standard-8 .view-introduce {
font-size: 14px;
line-height: 20px;
margin-top: 11px;
color: #575d6c;
}
#standard-8 .up-down-icon {
display: none;
}
@media (min-width:1439px) {
#standard-8 .standard-list {
width: 1280px;
}
}
@media(min-width:1025px) and (max-width:1279px) {
#standard-8 .standard-list {
width: 1025px;
}
#standard-8 .standard-view {
width: 245px;
}
}
@media(max-width:767px) {
#standard-8 .title {
font-size: 18px;
line-height: 28px;
padding: 34px 0 18px 0;
margin: 0;
}
#standard-8 {
background: url(../img/app_img_beijing1.png);
height: auto;
padding-bottom: 28px;
}
#standard-8 .standard-list {
width: 100%;
padding: 0 15px;
box-sizing: border-box;
margin: 0;
}
#standard-8 .standard-view {
padding: 0;
width: 100%;
height: auto;
box-sizing: border-box;
background: white;
box-shadow: 0 0 0 0;
margin-bottom: 0;
border: 1px solid #ddd;
border-bottom: 0px;
}
#standard-8 .standard-view:last-child {
border-bottom: 1px solid #ddd;
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
#standard-8 .standard-view:first-child {
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
#standard-8 .view-title-box {
width: 100%;
display: flex;
height: 57px;
padding: 12px 15px;
border-bottom: 1px solid #dddddd;
box-sizing: border-box;
}
#standard-8 .view-title-text {
font-size: 16px;
line-height: 33px;
color: #253b3a;
padding-left: 15px;
margin: 0;
}
#standard-8 .view-introduce {
padding: 16px 15px;
font-size: 14px;
line-height: 20px;
margin: 0;
}
#standard-8 .p-box {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s linear 0s;
}
#standard-8 .active {
color: #C7000B;
}
#standard-8 .up-down-icon {
width: 12px;
height: 12px;
display: block;
background: url(../img/app_icon_jiantou2.svg) no-repeat;
background-size: 100% 100%;
margin: auto 0 auto auto;
}
}
js
$(".view-title-box").click(function(e) {
var indexNum = 0;
let classStr = $($(this).children()[1]).attr("class");
for (let i = 0; i < $(".view-title-box").length; i++) {
if ($(this)[0].innerText == $(".view-title-text")[i].innerText) {
indexNum = i;
}
}
if (classStr.indexOf("active") == -1) {
$($(this).children()[1]).addClass("active");
$($(".p-box")[indexNum]).css("max-height", "100px");
$($(".up-down-icon")[indexNum]).css("background", "url(./img/app_icon_jiantou1.svg) no-repeat");
} else {
$($(this).children()[1]).removeClass("active");
$($(".p-box")[indexNum]).css("max-height", "0");
$($(".up-down-icon")[indexNum]).css("background", "url(./img/app_icon_jiantou2.svg) no-repeat");
}
})