50天50个项目 | 扩展卡片 | expanding card

html
记得引入style.css和script.js

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="style.css" />
  <title>Expanding Cards</title>
</head>
<body>
  <div class="container">
    <div class="panel active" style="background-image:url('https://images.unsplash.com/photo-1558979158-65a1eaa08691?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80')">
      <h3>Explore The World</h3>
    </div>
    <div class="panel" style="background-image:url('https://images.unsplash.com/photo-1572276596237-5db2c3e16c5d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80')">
      <h3>City on winter</h3>
    </div>
    <div class="panel" style="background-image:url('https://images.unsplash.com/photo-1558979158-65a1eaa08691?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80')">
      <h3>City on winter</h3>
    </div>
    <div class="panel" style="background-image:url('https://images.unsplash.com/photo-1558979158-65a1eaa08691?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80')">
      <h3>Explore The World</h3>
    </div>
    <div class="panel" style="background-image:url('https://images.unsplash.com/photo-1558979158-65a1eaa08691?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80')">
      <h3>City on winter</h3>
    </div>
  </div>
  <script src="script.js"></script>
</body>
</html>

css
1.设置align-items的时候要设置一下高度height:100vh,否则设置完后不会显示效果。
2.媒体查询(Media queries)非常实用,尤其是当你想要根据设备的大致类型(如打印设备与带屏幕的设备)或者特定的特征和设备参数(例如屏幕分辨率和浏览器视窗宽度)来修改网站或应用程序时。
3.许多媒体功能都是范围功能,这意味着可以在它们前面加上“最小”或“最大”来表示“最小条件”或“最大条件”约束。例如,仅当您的浏览器的viewport宽度等于或小于 480px 时,此 CSS 才会应用样式

@import url('https://fonts.googleapis.com/css?family=Muli&display=swap');

* {
  box-sizing: border-box;
}

body {
  font-family: 'Muli', sans-serif;
  display:flex;
  align-items:center;
  justify-content:center;
  height:100vh;
  overflow:hidden;
  margin:0;
}
.container{
  display:flex;
  width:90vw;
}
.panel{
  background-size: cover;
  background-position: center;
  background-repeat:no-repeat;
  height:80vh;
  border-radius:50px;
  color:#fff;
  cursor:pointer;
  flex:0.5;
  margin:10px;
  position:relative;
  transition: flex 0.7s ease-in;
}
.panel h3{
  font-size:24px;
  position:absolute;
  bottom:20px;
  left:20px;
  margin:0;
  opacity:0;
}
.panel.active{
  flex:5;
}
.panel.active h3{
  opacity:1;
  transition:opacity 0.3 ease-in 0.4s;
}
@media(max-width:480px){
  .container{
    width:100vw;
  }
  .panel:nth-of-type(4),
  .panel:nth-of-type(5){
    display: none;
  }
}

JavaScript
1.querySelectorAll:
返回与指定的选择器组匹配的文档中的元素列表 (使用深度优先的先序遍历文档的节点)。返回的对象是 NodeList ,类似于数组的结构。因为代码中要选择的面板不止一个,所以使用的是querySelectorAll
2.当点击了第一个面板的时候,其处于展开状态,当点击第二个面板的时候,我们希望第一个面板合上且第二个面板展开,所以每次为所点击的面板加上active之前,都要先把之前面板上的active先删除。

const panels = document.querySelectorAll('.panel')
panels.forEach((panel)=>{
  panel.addEventListener('click',()=>{
    removeActiveClasses()
    panel.classList.add('active')
  })
})
function removeActiveClasses(){
  panels.forEach((panel)=>{
    panel.classList.remove('active')
  })
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DataFrame expanding 是用于在 Pandas 中执行 rollingexpanding 操作的方法之一。它可以用来计算滚动或扩展窗口中的统计数据,例如滚动平均值、滚动标准偏差等。 rolling 操作是指对于一个固定大小的窗口,沿着时间序列向前滑动,对窗口中的数据进行统计运算。而 expanding 操作是指从数据集的起始点开始,逐步扩大窗口的大小,对窗口中的数据进行统计运算。 下面是一个简单的示例,展示如何使用 expanding 方法计算累计和: ```python import pandas as pd # 创建一个包含随机整数的 DataFrame df = pd.DataFrame({'data': [1, 2, 3, 4, 5]}) # 使用 expanding 方法计算累计和 expanding_sum = df['data'].expanding().sum() print(expanding_sum) ``` 输出结果为: ``` 0 1.0 1 3.0 2 6.0 3 10.0 4 15.0 Name: data, dtype: float64 ``` 这里,我们使用 `expanding()` 方法创建了一个扩展窗口,并对 `data` 列进行累计求和。由于这是一个扩展窗口,因此在每一行中,我们都计算了从数据集起始点开始的所有值的累计和。 类似地,rolling 方法也可以用于计算滚动窗口内的统计数据。例如,以下代码演示了如何使用 rolling 方法计算一个窗口大小为 3 的滚动均值: ```python import pandas as pd # 创建一个包含随机整数的 DataFrame df = pd.DataFrame({'data': [1, 2, 3, 4, 5]}) # 使用 rolling 方法计算滚动均值 rolling_mean = df['data'].rolling(window=3).mean() print(rolling_mean) ``` 输出结果为: ``` 0 NaN 1 NaN 2 2.000000 3 3.000000 4 4.000000 Name: data, dtype: float64 ``` 这里,我们使用 `rolling()` 方法创建了一个大小为 3 的滚动窗口,并对 `data` 列进行滚动均值计算。在前两个行中,由于窗口大小不够,因此没有计算出平均值,因此这些行中的值为 NaN。在第三行中,我们计算了前三个值的平均值,并将其赋值给了第三个行。以此类推,直到最后一个行,我们计算了前五个值的平均值,得到了 4.0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值