【问题标题】:Creating a box with a arrow CSS3 Issue创建一个带箭头的盒子 CSS3 问题
【发布时间】:2014-12-02 18:18:08
【问题描述】:

我正在尝试在气泡的右侧创建一个箭头 10px by 10px,但我看不到它。到目前为止,我有:

CSS:

.pageHelp{
    float:right;
    margin:10px 20px 0 0;
    width:85px;
    height:25px;
    background-color:#354E69;
    border-radius:3px;
}
.pageHelp:before{
    content:"";
    position:absolute;
    right:100%;
    top:26px;
    width:0;
    height:0;
    border-top:13px solid transparent;
    border-right:26px solid #354E69;
    border-top:13px solid transparent;
}

HTML:

<div class="pageHelp"><p>In Page Help</p></div>

路易斯:

.pageHelp{
    float:right;
    margin:10px 20px 0 0;
    width:85px;
    height:25px;
    background-color:#354E69;
    border-radius:3px;
    position: relative;
}
.pageHelp:after, .pageHelp:before {
    left: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
.pageHelp:after {
    border-left-color: #354E69;
    border-width: 10px;
    top: 50%;
    margin-top: -10px;
}
.pageHelp:before {
    border-left-color: ##354E69;
    border-width: 16px;
    top: 50%;
    margin-top: -16px;
}

【问题讨论】:

    标签: css shapes css-shapes


    【解决方案1】:

    你可以试试这个友好的css-arrow-maker-help

    【讨论】:

    • 感谢 Luis,这太棒了。我更新了我的问题 CSS 我要求一个 10px 箭头,但在我的代码中我得到 d.pr/i/LyId
    • this 有效吗?它是 10px heightwidth,只需根据需要调整填充!
    【解决方案2】:

    您需要指定

    position: relative;
    

    在你的.pageHelp 课堂上;否则,:before 内容上的position: absolute 不会引用它。

    您还指定了两次border-top;我认为其中之一应该是border-bottom

    如果你修复了这两个,那么你至少应该能够看到 div 旁边的三角形。

    在这里工作样机:http://jsfiddle.net/Nzazm/

    【讨论】:

    • 谢谢,我已将其调整为 5px 10px 5px 但如何将其居中对齐?似乎也有一个白色的差距
    【解决方案3】:

    也许这会有所帮助:http://jsfiddle.net/EkaMc/

    第一件事是将position:relative添加到.pageHelp

    .pageHelp{
        [...]
        position:relative;
    }
    

    这将有助于将箭头相对定位到气泡。

    那么对于你的伪元素,我建议你先使用content:" "。我在尝试设计没有任何内容的伪元素时运气不佳,我不确定为什么。也许更有经验的用户可以帮助澄清。

    .pageHelp:before{
        [...]
        content:" ";
    }
    

    设置箭头right:100% 的样式会将其撞到气泡的左端。另外,如果你不设置position:relative;,你的箭头会被强制跳出页面。

    .pageHelp:before{
        content:" ";
        position:absolute;
        right:-23px;
        top:6px;
        width:0;
        height:0;
        border-top:7px solid transparent;
        border-left:13px solid #354E69;
        border-bottom:7px solid transparent;
        border-right:13px solid transparent;
    }​
    

    您可以玩转边框大小,看看哪些适合您。

    【讨论】:

    • 谢谢,我已将其调整为 5px 10px 5px 但如何将其居中对齐?似乎也有一个白色的差距
    猜你喜欢
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-21
    • 2010-11-28
    • 1970-01-01
    • 2016-06-28
    相关资源
    最近更新 更多