2017-02-17 2 views
1

Я рисую треугольник на карте и хочу поместить глификон поверх него. Треугольник и большой, и появляется знак ... но всегда ниже и никогда не сверху. Я попытался обернуть glpyh в относительном погружении и сделать глиф абсолютным, используя верхнее и левое позиционирование, все безрезультатно.Как разместить бутстрап-глификон поверх другого абсолютного положения div

Основы являются (jsfiddle здесь https://jsfiddle.net/joshuaohana/4pgjcr47/):

<div class="triangle"> 
    <span class="glyphicon glyphicon-exclamation-sign"></span>   
</div> 

.triangle { 
    position: absolute; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 85px 85px 0 0; 
    border-color: blue transparent transparent transparent; 
} 

span { 
    position: absolute; 
    bottom: 50px; 
    left: 20px; 
} 

Моя единственная сложность заключается в том, что треугольник должен оставаться абсолютным. Как позиционировать глификон внутри середины треугольника?

+0

Вам нужен Span, чтобы быть внутри Div? –

+1

ха-ха нет, и теперь я чувствую себя немым, спасибо @LeonFreire :) Отлично работает теперь, держась за пределами div andp, озираясь на него, как обычно. Если вы хотите разместить это в качестве ответа, я согласен с ним –

+0

Спасибо! Добавлено ответ! :) –

ответ

1

Вы можете поместить Span за пределы Div, и он будет отлично работать с вашим абсолютным позиционированием! :)

1

У вас есть несколько проблем:

Сначала специфика вашего селектора CSS не достаточно конкретным, так что вы не перезаписывать вершины, установленный CSS для glyphicon

Во-вторых, ваш топ должен быть минус, поскольку вы используете границы для рисования треугольника (так что верхняя часть находится за пределами фактического треугольника div).

Попробуйте ниже CSS, и она должна решить обе проблемы:

span.glyphicon {  // more specific selector 
    position: absolute; 
    top: -65px;   // move up over border 
    left: 20px; 
} 

Updated Fiddle

More information on css specificity

-1
<div class="triangle"> 
    <span class="glyphicon glyphicon-exclamation-sign"></span>   
</div> 

.triangle { 
    position: relative; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 85px 85px 0 0; 
    border-color: blue transparent transparent transparent; 
} 

span { 
    position: absolute; 
    top: 20px; 
    left: 20px; 
} 

Никогда не используйте DIV и DIV, которые являются как абсолютные!

+0

Зачем вам «никогда не использовать div и div, которые являются абсолютными *»? Как насчет кнопки закрытия, которая находится в верхнем правом углу абсолютно позиционированного модального всплывающего окна? и просто переход от абсолютного к относительному ничего не делает - первоначальная проблема все еще существует – Pete

-1

Span: Изменить верхнее положение с отрицательными значениями, где -85px соответствует размеру контейнера дел. Для примера используйте -70px.

.triangle { 
    position: absolute; 
    width: 0; 
    height: 0; 
    border-style: solid; 
    border-width: 85px 85px 0 0; 
    border-color: blue transparent transparent transparent; 
} 

span.glyphicon-exclamation-sign { 
    position: absolute; 
    bottom: 50px; 
    left: 20px; 
    top: -70px; 
    color: #FFF; 
} 
Смежные вопросы