Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS:;缩进;在活动菜单项下方的边框中_Css_Twitter Bootstrap - Fatal编程技术网

CSS:;缩进;在活动菜单项下方的边框中

CSS:;缩进;在活动菜单项下方的边框中,css,twitter-bootstrap,Css,Twitter Bootstrap,我有一个简单的引导navbar菜单,它工作得很好,但我想在menu div的底部添加一个小的视觉指示器,以显示哪个菜单项当前处于活动状态 这看起来应该很容易,但要特别注意的是,投影需要随着缩进移动——我们如何做这样的事情 一张图片抵得上千言万语,下面加一张 编辑添加的小提琴: HTML 可能需要更多调整,但这里有一个100%CSS解决方案 在每个li中,您希望处于活动状态(您可能需要使用一些JS将这些元素插入到li处于活动状态的DOM中…) 这是一个带有.png图像的解决方案: 我向您

我有一个简单的引导navbar菜单,它工作得很好,但我想在menu div的底部添加一个小的视觉指示器,以显示哪个菜单项当前处于活动状态

这看起来应该很容易,但要特别注意的是,投影需要随着缩进移动——我们如何做这样的事情

一张图片抵得上千言万语,下面加一张

编辑添加的小提琴:

HTML


可能需要更多调整,但这里有一个100%CSS解决方案

在每个
li
中,您希望
处于活动状态
(您可能需要使用一些JS将这些元素插入到li处于活动状态的DOM中…)


  • 这是一个带有
    .png
    图像的解决方案:

    我向您添加了以下内容:

    li.active{position:relative;}
    li.active::after{
        content:"";
        background: transparent url("http://i41.tinypic.com/29ofuoh.png") no-repeat center center;
        background-size: 15px 17px;
        height:17px;
        width:100%;
        position:absolute;
        top:43px;
        left:0;
    }
    

    您可以使用如下内容。至少如果您不想使用图像并且不介意CSS转换(其他选项可能包括使用图像、使用CSS背景或SVG绘制对象)


    ?如果你没有更好的想法,也许可以尝试用这个指示器制作小图像,包括阴影,并将其相对于活动图标进行定位?一些代码或小提琴相当于一千张图片。图像想法可能有效,但直接的CSS会更好。我得到了小提琴的帮助,我会试着做一个,但是。。。我们说的是在矩形的底部添加一个缩进,对吗?小提琴:太好了!谢谢顺便问一下,你是如何制作.png的?我试着做了一个,但我对Photoshop有点一窍不通。它来自你在问题中输入的图像;)我刚刚剪了。如果你打算使用它,你应该调整它的大小显示的大小
    @import url('http://getbootstrap.com/dist/css/bootstrap.css');
    
    /* gradient for main navigation bar */
    .navbar-gradient {
        background: #ffffff; /* Old browsers */
        background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%); /* FF3.6+ */
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e5e5e5)); /* Chrome,Safari4+ */
        background: -webkit-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* Chrome10+,Safari5.1+ */
        background: -o-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* Opera 11.10+ */
        background: -ms-linear-gradient(top, #ffffff 0%,#e5e5e5 100%); /* IE10+ */
        background: linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%); /* W3C */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e5e5e5',GradientType=0 ); /* IE6-9 */
    
        /* drop shadow */
        box-shadow: 3px 3px 3px #888888;
    }
    
        @import url('http://getbootstrap.com/dist/css/bootstrap.css');
    
    .triangle {
        margin-top:-7px;
        width: 0;
        height: 0;
        margin-left:31px;
    }
    .triangle::after {
        content:'';
        border-bottom: 0;
        height: 15px;
        width: 15px;
        background-color: #fff;
        position: absolute;
        -webkit-transform: rotate(45deg);
        z-index: 2;
        box-shadow: inset 2px -4px 9px #888;
    }
    .triangle-cover {
        position:absolute;
        margin-top:1px;
        margin-left:-7px;
        z-index:10;
        width: 0;
        height: 0;
        border-bottom: solid 17px white;
        border-left: solid 14px transparent;
        border-right: solid 14px transparent; 
    }
    
            <li class="active"><a href="#"><img src="http://icons.iconarchive.com/icons/ampeross/qetto-2/48/settings-icon.png" /></a>
                <div class="triangle"><span class="triangle-cover"></span></div>
            </li>
    
    li.active{position:relative;}
    li.active::after{
        content:"";
        background: transparent url("http://i41.tinypic.com/29ofuoh.png") no-repeat center center;
        background-size: 15px 17px;
        height:17px;
        width:100%;
        position:absolute;
        top:43px;
        left:0;
    }
    
    .box{
        height: 40px;
        width: 200px;
        position: relative;
        box-shadow: 3px 3px 3px #888;
        background: #f4f4f4;
    }
    
    .box::after{
        display: block;
        content: " ";
        width: 15px;
        height: 15px;
        background: #fff;
        box-shadow: inset 10px 10px 3px -7px #888;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        bottom: -8px;
        right: 50px;
    }