javascript - 如何为水平滚动菜单边缘的元素设置样式
问题描述
我遇到了这个图片库的概念 UI 设计。有没有办法使用 JavaScript 来实现这一点?
解决方案
您可以使用两个库。我已经进口了......
EXTERNAL CSS
https://npmcdn.com/flickity@2/dist/flickity.css
EXTERNAL JAVASCRIPT
https://npmcdn.com/flickity@2/dist/flickity.pkgd.js
研究以下代码并获得想法,
/* external css: flickity.css */
* { box-sizing: border-box; }
body { font-family: sans-serif; }
.carousel {
background: black;
}
.carousel-cell {
width: 70%;
height: 200px;
/* flex-box, center image in cell */
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-align-items: center;
align-items: center;
}
.carousel-cell img {
display: block;
max-width: 100%;
max-height: 100%;
/* dim unselected */
opacity: 0.7;
-webkit-transform: scale(0.85);
transform: scale(0.85);
-webkit-filter: blur(5px);
filter: blur(5px);
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s, transform 0.3s, -webkit-filter 0.3s, filter 0.3s;
transition: opacity 0.3s, transform 0.3s, filter 0.3s;
}
/* brighten selected image */
.carousel-cell.is-selected img {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
-webkit-filter: none;
filter: none;
}
@media screen and ( min-width: 768px ) {
.carousel-cell {
height: 400px;
}
}
@media screen and ( min-width: 960px ) {
.carousel-cell {
width: 60%;
}
}
/* buttons, no circle */
.flickity-prev-next-button {
width: 60px;
height: 60px;
background: transparent;
opacity: 0.6;
}
.flickity-prev-next-button:hover {
background: transparent;
opacity: 1;
}
/* arrow color */
.flickity-prev-next-button .arrow {
fill: white;
}
.flickity-prev-next-button.no-svg {
color: white;
}
/* closer to edge */
.flickity-prev-next-button.previous { left: 0; }
.flickity-prev-next-button.next { right: 0; }
/* hide disabled button */
.flickity-prev-next-button:disabled {
display: none;
}
<script src="https://npmcdn.com/flickity@2/dist/flickity.pkgd.js"></script>
<link href="https://npmcdn.com/flickity@2/dist/flickity.css" rel="stylesheet"/>
<!-- Flickity HTML init -->
<div class="carousel js-flickity">
<!-- images from unsplash.com -->
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/orange-tree.jpg" alt="orange tree" />
</div>
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/submerged.jpg" alt="submerged" />
</div>
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/look-out.jpg" alt="look-out" />
</div>
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/one-world-trade.jpg" alt="One World Trade" />
</div>
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/drizzle.jpg" alt="drizzle" />
</div>
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/cat-nose.jpg" alt="cat nose" />
</div>
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/contrail.jpg" alt="contrail" />
</div>
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/golden-hour.jpg" alt="golden hour" />
</div>
<div class="carousel-cell">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/82/flight-formation.jpg" alt="flight formation" />
</div>
</div>
推荐阅读
- javascript - 使用 JavaScript 在 HTML 中创建样式文本节点的 SVG 轮廓路径
- selenium - 从规范文件中获取要执行的测试总数
- heroku - Spring Boot 管理服务器无法访问部署在 Heroku 中的实例
- javascript - 我的 JavaScript 变量无法接受我使用 Django render() 方法发送的对象
- php - Visual Studio 扩展 PHP 调试未连接
- symfony - API 平台错误,字段不可为空
- java - StringBuilder - setLength(0) 与新实例化,哪个更好?
- php - PHP多维数组抓取项
- angular - 调用 Microsoft Graph API 以获取 Angular 7 中的用户 AD 组
- python - reportlab 库的 ImageReader 方法不起作用