2016-06-27 1 views
0

Моего кода:Как отобразить DIV на парении кнопки с помощью CSS

#dropdown { 
 
    width: 80px; 
 
    height: 80px; 
 
    border-radius: 80px; 
 
    border-width: 0px; 
 
    transition: background-color 1s; 
 
} 
 
#dropdown_word { 
 
    font-size: 40px; 
 
    color: orangered; 
 
} 
 
#dropdown:hover { 
 
    background-color: cyan; 
 
}
<div class="heading"> 
 
    <h2> 
 
     H2 goes here 
 
    </h2> 
 
    <div class="button"> 
 
    <p> 
 
     <button id="dropdown"> 
 
     <span id="dropdown_word"> V </span> 
 
     </button> 
 
    </p> 
 
    </div> 
 
</div> 
 
<div class="content"> 
 
    <h4> 
 
     H4 goes here 
 
    </h4> 
 
    <p> 
 
    Text goes here 
 
    </p> 
 
</div>

Я хочу, чтобы отобразить класс .content, когда мышь парит на кнопке. Перед зависанием .content не должен быть видимым для пользователя. Какой код CSS можно использовать для получения вышеуказанного результата?

+2

Возможный дубликат [Как влияет на другие элементы, когда ДИВ наведен] (http://stackoverflow.com/questions/4502633/how-to- аффект-other-elements-when-a-div-is-hovered) –

ответ

0

Все, что вам нужно сделать, это переместить .content DIV внутри .button DIV и применять следующие CSS:

.content{ 
    display: none; 
} 

.button:hover .content{ 
    display: block; 
} 

Вот JSFiddle.

+0

Спасибо, что это работает, если этот параметр влияет на изменение ширины и позиции класса содержимого или все равно будет работать независимо от этого! –

+0

В зависимости от того, насколько велика вы создаете класс '.content', вы можете настроить класс' .button', чтобы он соответствовал, или вы могли видеть перекрытие содержимого. –

0

Один из способов сделать это, чтобы добавить общий родительский div, содержащий как кнопку, так и div .content. Недостатком этого метода является то, что класс .content появится, если пользователь войдет в .parent div. поэтому, если ваш родительский div охватывает половину страницы, ваша кнопка будет отображаться, если вы наведете где-нибудь в этой области.

<div class="parent"> 

    <div class="heading"> 
    <h2> 
     H2 goes here 
    </h2> 
    <div class="button"> 
     <p> 
      <button id="dropdown"> 
      <span id="dropdown_word"> V </span> 
      </button> 
     </p> 
    </div>      
</div> 
<div class="content"> 
    <h4> 
     H4 goes here 
    </h4> 
     <p> 
     Text goes here 
     </p> 
    </div> 

    </div> 



#dropdown 
{ 
    width:80px; 
    height:80px; 
    border-radius: 80px; 
    border-width: 0px; 
    transition: background-color 1s; 
    } 

#dropdown_word 
{ 
    font-size:40px; 
    color:orangered; 
} 
#dropdown:hover 
{ 
    background-color: cyan; 
} 

.content{ 
    visibility: hidden; 
    } 

.parent:hover .content{ 
    visibility: initial; 
} 
+0

он не отображает текст при зависании –

+0

сделал u добавить .parent div? –

+0

проблема в том, что когда я нахожусь рядом с кнопкой, текст отображается, я хотел его только тогда, когда его наведение на кнопке –

0

синтаксис использования CSS visibility: visible|hidden|collapse|initial|inherit;

#dropdown { 
 
    width: 80px; 
 
    height: 80px; 
 
    border-radius: 80px; 
 
    border-width: 0px; 
 
    transition: background-color 1s; 
 
} 
 
#dropdown_word { 
 
    font-size: 40px; 
 
    color: orangered; 
 
    visibility: hidden; 
 
} 
 
#dropdown:hover #dropdown_word { 
 
    background-color: cyan; 
 
    visibility: visible; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
 
<div class="heading"> 
 
    <h2> 
 
     H2 goes here 
 
    </h2> 
 
    <div class="button"> 
 
    <p> 
 
     <button id="dropdown"> 
 
     <span id="dropdown_word"> V </span> 
 
     </button> 
 
    </p> 
 
    </div> 
 
</div> 
 
<div class="content"> 
 
    <h4> 
 
     H4 goes here 
 
    </h4> 
 
    <p> 
 
    Text goes here 
 
    </p> 
 
</div>

+0

вы скрываете слово внутри кнопки, я хочу скрыть содержимое класса, а при наведении курсора он должен быть виден, вы можете изменить свой код?я думаю, что это может сработать –

-1

, потому что кнопка не на всех связанных с .content вы не можете сделать это точно с только CSS

вы можете сделать это с помощью css, только если .content имеет отношение к th e (родственный, ребенок, родитель)

поэтому в этом случае вам нужно использовать jquery.

чек здесь jsfiddle

CSS код добавлен: .content { display:none} JQuery код добавил:

$("#dropdown").hover(
    function() { 
    $('.content').show() 
    }, 
    function() { 
    $('.content').hide() 
    } 
); 
+0

есть ли способ с CSS, я не знаю много о jquery, я все еще изучаю HTML и CSS –

+0

, как я сказал в своем ответе, вы можете сделать это только с помощью css, если кнопка и контент имеют отношение между ними например, находясь в одном и том же контейнере и на одном уровне (например, братья и сестры), например:

+0

yep вы правы спасибо за помощь человек –

0
#content{display:none;} 
#dropdown:hover + #content{display:block;} 
+2

Хотя это может ответить на вопрос, может быть, лучше вставить описание о том, почему приведенный выше код «работает». Это, чтобы сообщить будущим людям, почему такое поведение происходит. – Mathlight

0

Вы можете сделать это с помощью JS.

var element = document.getElementsByClassName('button')[0]; 

element.addEventListener("mouseover",function(){ 
    document.getElementsByClassName('content')[0].style.display = "block"; 
}); 

element.addEventListener("mouseout",function(){ 
    document.getElementsByClassName('content')[0].style.display = "none"; 
}); 

делают содержание скрыть по умолчанию

.content { 
    display: none; 
} 
Смежные вопросы