爬行的蜗牛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: golang Linux PHP
查看: 5|回复: 0

HTML&CSS:高级感的图片轮播效果(一键复制)

[复制链接]

152

主题

48

回帖

1137

积分

管理员

积分
1137
发表于 昨天 21:57 | 显示全部楼层 |阅读模式
这个页面的设计是一个简单的图片轮播效果,适合用作网页的背景或者展示多个图片的场景

效果演示

640.gif
  1. <!DOCTYPE html>
  2. <html lang="en">

  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <title>前端Hardy</title>
  8.     <style>
  9.         body {
  10.             font-family: 'Poppins', sans-serif;
  11.             font-weight: 300;
  12.             font-size: 15px;
  13.             line-height: 1.7;
  14.             color: #343434;
  15.             background-color: #212121;
  16.             overflow-x: hidden;
  17.         }

  18.         .section {
  19.             position: relative;
  20.             width: 100%;
  21.             display: block;
  22.             text-align: center;
  23.         }

  24.         .full-height {
  25.             min-height: 100vh;
  26.         }

  27.         .over-hide {
  28.             overflow: hidden;
  29.         }

  30.         .padding-tb {
  31.             padding: 100px 0;
  32.         }

  33.         [type="radio"]:checked,
  34.         [type="radio"]:not(:checked) {
  35.             position: absolute;
  36.             left: -9999px;
  37.         }

  38.         .checkbox:checked+label,
  39.         .checkbox:not(:checked)+label {
  40.             position: relative;
  41.             cursor: pointer;
  42.             margin: 0 auto;
  43.             text-align: center;
  44.             margin-right: 6px;
  45.             margin-left: 6px;
  46.             display: inline-block;
  47.             width: 50px;
  48.             height: 50px;
  49.             border: 3px solid #bdc3c7;
  50.             background-size: cover;
  51.             background-position: center;
  52.             box-sizing: border-box;
  53.             -webkit-transition: all 0.2s ease;
  54.             transition: all 0.2s ease;
  55.             background-image: url('https://assets.codepen.io/1462889/sl1.jpg');
  56.             animation: border-transform 6s linear infinite alternate forwards;
  57.             -webkit-animation-play-state: paused;
  58.             -moz-animation-play-state: paused;
  59.             animation-play-state: paused;
  60.         }

  61.         .checkbox.scnd+label {
  62.             background-image: url('https://assets.codepen.io/1462889/sl2.jpg');
  63.         }

  64.         .checkbox.thrd+label {
  65.             background-image: url('https://assets.codepen.io/1462889/sl3.jpg');
  66.         }

  67.         .checkbox.foth+label {
  68.             background-image: url('https://assets.codepen.io/1462889/sl4.jpg');
  69.         }

  70.         .checkbox:checked+label {
  71.             box-shadow: 0 8px 25px 0 rgba(16, 39, 112, .3);
  72.             transform: scale(1.3);
  73.             -webkit-animation-play-state: running;
  74.             -moz-animation-play-state: running;
  75.             animation-play-state: running;
  76.         }

  77.         @keyframes border-transform {

  78.             0%,
  79.             100% {
  80.                 border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%;
  81.             }

  82.             14% {
  83.                 border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%;
  84.             }

  85.             28% {
  86.                 border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%;
  87.             }

  88.             42% {
  89.                 border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%;
  90.             }

  91.             56% {
  92.                 border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%;
  93.             }

  94.             70% {
  95.                 border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%;
  96.             }

  97.             84% {
  98.                 border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%;
  99.             }
  100.         }

  101.         .slider-height-padding {
  102.             padding-top: 440px;
  103.         }

  104.         ul {
  105.             position: absolute;
  106.             top: 0;
  107.             left: 0;
  108.             display: block;
  109.             width: 100%;
  110.             z-index: 100;
  111.             padding: 0;
  112.             margin: 0;
  113.             list-style: none;
  114.         }

  115.         ul li {
  116.             position: absolute;
  117.             top: 0;
  118.             left: 0;
  119.             width: 100%;
  120.             display: block;
  121.             z-index: 100;
  122.             padding: 0;
  123.             margin: 0;
  124.             list-style: none;
  125.             height: 400px;
  126.             border: 5px solid #bdc3c7;
  127.             background-size: cover;
  128.             background-position: center;
  129.             background-image: url('https://assets.codepen.io/1462889/sl1.jpg');
  130.             border-radius: 50%;
  131.             box-sizing: border-box;
  132.             font-family: 'Poppins', sans-serif;
  133.             font-weight: 900;
  134.             font-size: 16px;
  135.             letter-spacing: 2px;
  136.             line-height: 2.7;
  137.             color: #343434;
  138.             writing-mode: vertical-rl;
  139.             opacity: 0;
  140.             pointer-events: none;
  141.             box-shadow: 0 8px 25px 0 rgba(16, 39, 112, .1);
  142.             -webkit-transition: all 0.5s ease;
  143.             transition: all 0.5s ease;
  144.         }

  145.         ul li span {
  146.             mix-blend-mode: difference;
  147.         }

  148.         ul li:nth-child(2) {
  149.             background-image: url('https://assets.codepen.io/1462889/sl2.jpg');
  150.         }

  151.         ul li:nth-child(3) {
  152.             background-image: url('https://assets.codepen.io/1462889/sl3.jpg');
  153.         }

  154.         ul li:nth-child(4) {
  155.             background-image: url('https://assets.codepen.io/1462889/sl4.jpg');
  156.         }


  157.         .checkbox.frst:checked~ul li:nth-child(1) {
  158.             opacity: 1;
  159.             pointer-events: auto;
  160.             border-radius: 16px;
  161.         }

  162.         .checkbox.scnd:checked~ul li:nth-child(2) {
  163.             opacity: 1;
  164.             pointer-events: auto;
  165.             border-radius: 16px;
  166.         }

  167.         .checkbox.thrd:checked~ul li:nth-child(3) {
  168.             opacity: 1;
  169.             pointer-events: auto;
  170.             border-radius: 16px;
  171.         }

  172.         .checkbox.foth:checked~ul li:nth-child(4) {
  173.             opacity: 1;
  174.             pointer-events: auto;
  175.             border-radius: 16px;
  176.         }

  177.         .logo {
  178.             position: absolute;
  179.             top: 30px;
  180.             right: 30px;
  181.             display: block;
  182.             z-index: 100;
  183.             transition: all 250ms linear;
  184.         }

  185.         .logo img {
  186.             height: 26px;
  187.             width: auto;
  188.             display: block;
  189.         }



  190.         @media (max-width: 767px) {
  191.             .slider-height-padding {
  192.                 padding-top: 340px;
  193.             }

  194.             ul li {
  195.                 height: 300px;
  196.                 font-size: 13px;
  197.                 letter-spacing: 1px;
  198.             }
  199.         }

  200.         @media (max-width: 575px) {
  201.             .slider-height-padding {
  202.                 padding-top: 240px;
  203.             }

  204.             ul li {
  205.                 height: 200px;
  206.             }
  207.         }
  208.     </style>
  209. </head>

  210. <body>
  211.     <div class="section full-height over-hide px-4 px-sm-0">
  212.         <div class="container">
  213.             <div class="row full-height justify-content-center">
  214.                 <div class="col-lg-10 col-xl-8 align-self-center padding-tb">
  215.                     <div class="section mx-auto text-center slider-height-padding">
  216.                         <input class="checkbox frst" type="radio" id="slide-1" name="slider" checked />
  217.                         <label for="slide-1"></label>
  218.                         <input class="checkbox scnd" type="radio" name="slider" id="slider-2" />
  219.                         <label for="slider-2"></label>
  220.                         <input class="checkbox thrd" type="radio" name="slider" id="slider-3" />
  221.                         <label for="slider-3"></label>
  222.                         <input class="checkbox foth" type="radio" name="slider" id="slider-4" />
  223.                         <label for="slider-4"></label>
  224.                         <ul>
  225.                             <li>
  226.                                 <span>MALE GOOFY FACE</span>
  227.                             </li>
  228.                             <li>
  229.                                 <span>TOY PIG</span>
  230.                             </li>
  231.                             <li>
  232.                                 <span>SHY PORTRAIT</span>
  233.                             </li>
  234.                             <li>
  235.                                 <span>SKATEBOARD FACE</span>
  236.                             </li>
  237.                         </ul>
  238.                     </div>
  239.                 </div>
  240.             </div>
  241.         </div>
  242.     </div>
  243. </body>
  244. </html>
复制代码
  • section full-height over-hide:这是最外层的容器,设置了全屏高度和隐藏溢出的内容。
  • container:内部容器,用于包裹整个内容。
  • row full-height justify-content-center:用于垂直居中对齐内部元素的行容器。
  • col-lg-10 col-xl-8 align-self-center padding-tb:列容器,用于限制内容的宽度,并在垂直方向上居中。
  • section mx-auto text-center slider-height-padding:这是轮播图的容器,设置了自动外边距和文本居中。
  • 轮播图控件:四个input元素,类型为radio,用于控制轮播图的切换。每个input都有一个对应的label标签。
  • 轮播图列表:ul元素包含四个li元素,每个li元素代表一个幻灯片,包含一个span元素显示文本。
  • 全局样式:body:设置了字体、字重、字号、行高、颜色和背景色。.section:设置了相对定位、宽度、显示方式和文本居中。.full-height:设置了最小高度为视口高度(100vh)。.over-hide:设置了隐藏溢出的内容。
  • 轮播图样式:.checkbox:设置了单选按钮的位置和基本样式。.checkbox:checked+label:设置了选中状态下的样式,包括阴影和动画效果。@keyframes border-transform:定义了一个关键帧动画,用于边框的变形效果。
  • 幻灯片列表样式:ul和ul li:设置了绝对定位、宽度、高度、背景图片、边框、圆角和阴影等。ul li span:设置了混合模式和文本样式。
  • 响应式设计:@media (max-width: 767px)和@media (max-width: 575px):定义了不同屏幕尺寸下的样式调整,包括轮播图的内边距和幻灯片的高度。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表