1

我正在尝试在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;
}
4

3 回答 3

4

您可以尝试使用这个友好的css-arrow-maker-help

于 2012-05-28T21:40:19.783 回答
2

您需要指定

position: relative;

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

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

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

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

于 2012-05-28T21:01:19.950 回答
1

也许这可以帮助: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;
}​

您可以玩转边框大小,看看什么适合您。

于 2012-05-28T21:03:34.107 回答