2012-02-16 4 views
0

Мой HTML выглядит следующим образом:проблема с CSS границы

<div id="top"> 
<div id="first"> 
</div> 
<div id="second"> 
</div> 
<div id="third"> 
</div> 
</div> 
​ 

Мой CSS выглядит следующим образом:

#first{ 
    position: absolute; 
    left:100px; 
    top:100px; 
    height:100px; 
    width:100px; 
    background-color:red; 
} 
#second{ 
    position: absolute; 
    left:200px; 
    top:100px; 
    height:100px; 
    width:100px; 
    background-color:green; 
} 
#third{ 
    position: absolute; 
    left:100px; 
    top:200px; 
    height:100px; 
    width:200px; 
    background-color:yellow; 
} 

#first:hover{ 
    border-color:"000"; 
    border-width:5px; 
    border-style:solid; 
} 

Также, пожалуйста, посмотрите на this скрипку.

Я не понимаю, почему граница не применяется к первому div.

+0

для записи: 'border: # 000 5px solid;' –

+0

Кроме того, все работает. Что вы ожидаете от результата, когда наводите курсор на красную рамку? –

ответ

1

Это из-за способа модель коробки работает в CSS ... если уменьшить окно на парении, как показано на this updated jsFiddle, он будет работать так, как я полагаю, вы ожидали.

+0

Спасибо за редактирование скрипки и краткий ответ. – riship89

+0

Без проблем ... рад, что я мог бы помочь! – ar3

3

ваш border работает, но скрывается за другим div's, где вы hover над ним. Для этого вы можете использовать свойство box-sizing.

Написать так:

#first{ 
    position: absolute; 
    left:100px; 
    top:100px; 
    height:100px; 
    width:100px; 
    background-color:red; 
    -moz-box-sizing:border-box; 
    -webkit-box-sizing:border-box; 
    box-sizing:border-box; 
} 

Проверить это http://jsfiddle.net/Q5zt2/6/

+0

+1 для 'box-sizing'. Может помочь включить ссылку, объясняющую, что это такое и почему это происходит (например: http://css-tricks.com/box-sizing/) – nybbler

+0

спасибо, что это работает ... «размер окна» доступен в css2? – riship89

+0

Работа до IE8 и выше – sandeep

1

Попробуйте написать свой #First: парить CSS как:

#first:hover{ 
    border-color:#000; 
    border-width:5px; 
    border-style:solid; 
    height:90px; 
    width:90px; 
} 

Ваша граница показывает, но без регулировки высоты и ширины для добавленной толщины границы он выглядит так, как будто он не применяет его должным образом.

Смотрите ваши updated fiddle here

+0

Спасибо ... это сработало. – riship89

-1

Граница применяется при наведении курсора мыши, как это то, что вы сказали в CSS

#first:hover{ 
    border-color:"000"; 
    border-width:5px; 
    border-style:solid; 
} 

изменить его к этому, если вы хотите, чтобы граница появляются всегда ...

#first{ 
    border-color:"000"; 
    border-width:5px; 
    border-style:solid; 
} 
+0

Это не то, что я хочу. – riship89

+0

извинения за неправильное понимание вопроса ... – neo108

+0

никаких проблем .. Это может случиться – riship89

0

Использование z-index: 1 property in first: hover будет работать

+0

И это изменит размер первого div. Наверное, не хотелось. – nybbler

Смежные вопросы