javascript - 如何让 "cross"弹出::在不同的部分之后

标签 javascript html css

我正在尝试对减号进行交叉更改并弹出一些文本。

我有一个例子,但我不明白它是如何与 ::after 一起工作的。

Cross

enter image description here

它是用 ::after 制作的,但我不明白如何使用它。还是用 JavaScript 制作的?

enter image description here

我的代码

h2 {
    text-transform: uppercase;
    letter-spacing: 3px;
    font-family: ProximaNovaT-Thin;
    font-weight: 400;
    font-size: 34px;
    line-height: 44px;
}

h5 {
    cursor: pointer;
    line-height: 24px;
    border-top: 1px solid #777;
    border-bottom: 1px solid #777;
    position: relative;
    padding: 20px 75px 20px 0;
}

h5::before {
    content: "";
    position: absolute;
    background: url(https://d2311lpn2eqzan.cloudfront.net/villarealestate/images/plus-icon1.png) scroll no-repeat center center;
    background-size: auto;
    top: 0;
    right: 0;
    width: 70px;
    height: 100%;
    background-size: 45px 45px;
}

.opencont h5::after {
    content: url(https://d2311lpn2eqzan.cloudfront.net/villarealestate/images/minus.png) scroll no-repeat center center !important;
}
<!DOCTYPE html>
<html>
    <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">


        <!--BOOTSTRAP-->
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">

        <!-- COSTUM STYLE.CSS -->
        <link href="Classes/Model/Contact.css" rel="stylesheet" type="text/css"/>

        <title>ThemeBuild B.V.B.A</title>
    </head>
    <body>

        <div class="container">
            <div class="row">
                <div class="col-md-12 text-center">
                    <h2 style="padding-top: 50px; padding-bottom: 40px; font-weight: 400; font-family: ProximaNovaT-Thin;">Contact gegevens</h2>
                    <div class="locatie-dropdown">
                        <div class="topc text-left">
                            <h5 style="font-size: 16px;">WOODSTOCK LOCATIONS</h5>

                        </div>
                    </div>
                </div>
            </div>
        </div>

    </body>

    <!-- BOOTSTRAP SCRIPTS -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
</html>

最佳答案

我会根据您提供的信息尽我所能回答。

首先,::after 是一个伪元素。您可以在这里阅读:https://www.w3schools.com/cssref/sel_after.asp . 这意味着“十字”(+) 和 (-) 位于所选元素之后(在本例中为 h5)。

其次,此功能很可能是通过一些 javascript 实现的。这将涉及使用事件监听器(或内联 javascript onClick)来捕获元素的 onClick 事件(在这种情况下可能是 h5 的父级或 h5 本身),并更改一个 css 属性,该属性表明内容是否是展开(显示)或不展开。要显示的内容可能会使用 display:none 或 visibility:hidden 来打开/关闭。 “叉号”(+) 或 (-) 将在同一个 onClick 事件中适当更改。

在伪代码中: 如果单击,内容被隐藏,则显示内容并将 + 更改为 -。 如果单击并显示内容,则隐藏内容并将 - 更改为 +。

关于javascript - 如何让 "cross"弹出::在不同的部分之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54949882/

相关文章:

jquery - 应用 -webkit-transform 时 Div 元素闪烁(仅转换后的元素)

c# - 我们如何在 ASP.NET 中对文件上传控件应用客户端验证来检查文件名是否包含特殊字符?

javascript - 如何将图像和数据添加到 firebase

javascript - 使用 Vimeo 视频自动播放打开/关闭弹出窗口 - Javascript

html - 跨浏览器垂直居中文本

jquery - 直到过度效果完成后链接才有效

javascript - jquery 和 jscript 中的按钮

javascript - 如何将变量从服务器js文件传递到另一个文件

javascript - 将网页加载到运行 PhantomJS 的 headless Jasmine 规范中

javascript - 使用自定义音频 slider 以零音量自动播放