【问题标题】:How can I make my span look like an arrow using CSS pseudo elements? [duplicate]如何使用 CSS 伪元素使我的 span 看起来像一个箭头? [复制]
【发布时间】:2018-09-25 21:39:11
【问题描述】:

我想要完成的图像:

这是我正在使用的 HTML 片段:

<section class="card button ">
    <span class="arrow">More Work</span>
</section>

这是我的 CSS。我在网上看了一些东西,并尝试在 jsbin 上使用它,但我需要一个看起来更像按钮的东西。

    .button span{
      background-color: gold;
      width: 40%;
      height: 30%;
    }
    .button span::after{
      content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 0;
        height: 0;
        border-left: 20px solid black;
        border-top: 20px solid black;
        border-bottom: 20px solid black;
    }          
    .button span::before{   
      content: "";   
        position: absolute;   
        right: -20px;   
        bottom: 0;   
        width: 0;   
        height: 0;   
        border-left: 20px solid black;   
        border-top: 20px solid black;   
        border-bottom: 20px solid black;   
    }

【问题讨论】:

    标签: css pseudo-element


    【解决方案1】:

    您可以使用没有 CSS 伪元素的 span 创建它 检查此代码

    <span class="arrow left"></span>
    <span class="arrow right"></span>
    <span class="arrow up"></span>
    <span class="arrow down"></span>
    
    .arrow {
        border: solid black;
        border-width: 0 3px 3px 0;
        display: inline-block;
        padding: 3px;
    }
    
    .right {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }
    
    .left {
        transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
    }
    
    .up {
        transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg);
    }
    
    .down {
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
    }
    

    这是演示https://jsbin.com/tehebed/edit?html,css,output

    【讨论】:

    • 不是我想要的,但这对于另一个代码挑战肯定会派上用场。谢谢。
    【解决方案2】:

    检查一下

    .btn {
        display: inline-block;
        margin-bottom: 0;
        font-weight: 400;
        text-align: center;
        vertical-align: middle;
        cursor: pointer;
        background-image: none;
        border: 1px solid transparent;
        white-space: nowrap;
        padding: 6px 12px;
        font-size: 14px;
        line-height: 1.42857143;
        border-radius: 4px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
    .btn-arrow-right {
        position: relative;
        padding-left: 18px;
        padding-right: 18px;
    background: red;
    }
    .btn-arrow-right {
        padding-left: 36px;
    }
    .btn-arrow-right:before,
    .btn-arrow-right:after{ 
        content:"";
        position: absolute;
        top: 4px; 
        width: 22px; 
        height: 22px;
        background: inherit; 
        border: inherit;
        border-left-color: transparent; 
        border-bottom-color: transparent; 
        border-radius: 0px 4px 0px 0px; 
        -webkit-border-radius: 0px 4px 0px 0px;
        -moz-border-radius: 0px 4px 0px 0px;
    }
    .btn-arrow-right:before,
    .btn-arrow-right:after {
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
    }
       
    .btn-arrow-right:before
     { 
        left: -11px;
    }
    .btn-arrow-right:after { 
        right: -11px;
    }
    .btn-arrow-right:after {
        z-index: 1;
    }
    .btn-arrow-right:before {
        background-color: white;
    }
    &lt;button type="button" class="btn btn-danger btn-arrow-right"&gt;More Work&lt;/button&gt;

    【讨论】:

    • 除了更多的纯文本工作外,什么都没有显示
    • 现在检查它的背景颜色问题
    • 是的!非常感谢。
    • 非常欢迎 :)
    猜你喜欢
    • 2019-06-02
    • 2018-08-31
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 2018-10-18
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多