javascript - 图像 slider 标题

标签 javascript html css

我有一个像这样的图像 slider : enter image description here

我的代码是这样的:

光滑的CSS:

/* Slider */
.slick-slider
{
    position: relative;

    display: block;

    -moz-box-sizing: border-box;
         box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

光滑的主题.css:

@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url('./ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    margin-top: -10px;
    padding: 0;

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -45px;

    display: block;

    width: 100%;
    padding: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

然后是 HTML:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Slider demo</title>
    <link rel="stylesheet" type="text/css" href="slick/slick.css" />
    <link rel="stylesheet" type="text/css" href="slick/slick-theme.css" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style>
    * {
        box-sizing: border-box;
        margin: 0;
    }

    body {
        background: #cc0099;
    }

    .slider {
        width: 80%;
        /*height: 60%;*/
        margin: 20px auto;
        background: white;
        text-align: center;
    }

    h3 {
        padding: 180px 20px;
        background: gray;
        margin: 10px;
    }

    .slider div img {
        width: 100%;
        /*border: 5px solid white;*/
        /*height: auto;*/
        margin: 0;
        /*display: none;*/
        /*visibility: hidden;*/
        display: block;
    }
    </style>
</head>

<body>
    <div class="slider">
        <div>

            <img src="img/1.jpg" alt="">
            <!-- <img data-lazy="img/1.jpg" /> -->

        </div>

        <div>
            <!-- <img data-lazy="img/3.jpg" /> -->
            <img src="img/3.jpg" alt="">
        </div>
        <div>
            <!-- <img data-lazy="img/4.jpg" /> -->
            <img src="img/4.jpg" alt="">
        </div>
        <div>
            <!-- <img data-lazy="img/5.jpg" /> -->
            <img src="img/5.jpg" alt="">
        </div>
    </div>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    <script type="text/javascript" src="slick/slick.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
        $('.slider').slick({
            // lazyLoad: 'ondemand',
            dots: true,
            infinite: true
                // slidesToShow: 1,
                // slidesToScroll: 1,
                // adaptiveHeight: true
        });
        // $('.slider div img').css('visibility':'visible');
    });
    </script>
</body>

</html>

我尝试在其中一张幻灯片之间添加一个 p 标签。 像这样:

 <div class="slider">
            <div>
               <p>test</p>
                <img src="img/1.jpg" alt="">
                <!-- <img data-lazy="img/1.jpg" /> -->


            </div>

但我明白了!:

enter image description here

后来我在透明背景的div里试了一下,也没用。

我只想给一张幻灯片添加标题,有没有办法在不影响 js 的情况下做到这一点?

提前致谢

-凯文

最佳答案

您的 .slider 上有白色背景在你的CSS中。如果你删除它,你可以保持你的代码不变,你的 <p>文本将在没有白色背景的情况下出现。

如果你想在图片上叠加文字,那么我建议给段落标签一个负边距

关于javascript - 图像 slider 标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37212019/

相关文章:

html - 使用CSS在图像顶部播放图标

css - 是否可以选择带有 nth-child 的最后 n 个元素?

javascript - reactJS props 和 refs 有什么区别?

javascript - node.js 检查远程 URL 是否存在

javascript - 无法使用 ng-Bootstrap 日期选择器

javascript - ajax 和 php 中的复选框决策

javascript - 类型错误 : Cannot destructure property `compile` of 'undefined' or 'null'

jQuery onChange() 获得另一个领域的焦点

javascript - 对 flask render_template 进行 AJAX 调用的问题

jquery - 如何阻止 JQuery Animate 函数移动整个页面