【问题标题】:div with triangular arrow带三角箭头的 div
【发布时间】:2016-11-29 09:50:18
【问题描述】:

我正在使用引导程序并希望像下面一样将三角形指针指向 div

我已经尝试了一些代码,见下文

<div>This is just test</div>
<div class="tip">Testing div 12455555553ssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>

但是箭头会去别的地方。

这里是Fiddle

当我将鼠标悬停在 div 上时,是否可以增加 div 的宽度?

【问题讨论】:

    标签: html css twitter-bootstrap css-shapes


    【解决方案1】:

    试试这个:

    .tip:before {
        position: absolute;
        display: inline-block;
        width:0;
        height:0;
        border-bottom: 7px solid rgba(0, 0, 0, 0.2);
        border-right: 7px solid transparent;
        border-left: 7px solid transparent;
        left: 50%;
        transform:translateX(-50%);
        z-index: 1;
        top: -7px;
        content: '';
    }
    
    .tip:after {
        position: absolute;
        display: inline-block;
        width:0;
        height:0;
        border-bottom: 6px solid #eee;
        border-right: 6px solid transparent;
        border-left: 6px solid transparent;
        left: 50%;
        transform:translateX(-50%);
        z-index: 2;
        top: -6px;
        content: '';
    }
    

    或者如果你想要更多的浏览器支持而不是transform:translateX(-50%),你可以使用否定的margin-left

    【讨论】:

    • 是否可以向左移动箭头。现在它在右边。在哪里设置移动箭头?当我将鼠标悬停在 div 上时,你知道如何增加它的宽度吗?
    • 只需将左侧的值更改为您想要的值 ex:10px 并删除变换,以增加宽度,您可以使用 div:hover{width:250px},宽度将增加 50px
    • 具体在哪里?我之前尝试过 .tip 但没有工作?也请告诉我如何增加三角形的宽度?
    • 哇。就几个问题。你做了什么向左移动以及如何增加三角形的宽度?还有为什么文本会从 div 中移出?
    • 查看代码,为了向左移动,我更改了 :before 和 :after 伪元素的 left 值,我使用 ..tip:hover 更改了宽度,它位于 css 的底部,我还添加了一个过渡,使元素比例更平滑。由于单词太长,文本超出了 div,您可以使用溢出换行来更改它。希望有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2018-08-02
    • 1970-01-01
    • 2015-04-09
    相关资源
    最近更新 更多