2016-02-17 1 views
0

Here is a JS fiddledivclass: парить + divclass2 - не работает

Когда я плыву по всему размеру панели, IMG высоты высоты + текст области, я хочу текстовую область (серую), чтобы изменить розовые и прозрачность титула на 100%.

Я могу сделать их индивидуально, но не он. Я прочитал несколько ответов и думаю

divclass:hover + divclass2 {background-color:...;} 

Возможно, это ответ, но я не могу заставить его работать.

Вы можете помочь?

HTML:

<div class="container"> 
    <div class="row"> 
    <div class="col-lg-4 col-md-4 col-sm-6 col-sx-12"> 
    <a href="#" class="box-link " id=""> 
     <div class="row sm-gutter"> 
     <div class="img-panel" id="img1"> 
      <div class="panel-title-bg"> 
      <div class="panel-title-text" id="panel-text-area-efftct"> 
       <h3><span>Title &raquo;</span></h3> 
      </div> 
      </div> 
     </div> 
     <div class="panel-txt-area"> 
      <p>blablablabla</p> 

     </div> 
     </div> 
    </a> 
    </div> 
    <div class="col-lg-4 col-md-4 col-sm-6 col-sx-12"> 
    <a href="#" class="box-link" id="#"> 
     <div class="row sm-gutter"> 
     <div class="img-panel" id="img2"> 
      <div class="panel-title-bg"> 
      <div class="panel-title-text"> 
       <h3><span>Title &raquo;</span></h3> 
      </div> 
      </div> 
     </div> 
     <div class="panel-txt-area"> 
      <p>blablablabla.</p> 

     </div> 
     </div> 
    </a> 
    </div> 
</div> 

CSS

.panel-txt-area { 
    height: 140px; 
    background-color: #e6e6e6; 
    color: #424a52; 
    padding: 10px; 
    position: relative; 
    font-weight: bold; 
} 

.panel-txt-area:hover { 
    background-position: 0 100%; 
    background-color: #d10373; 
    color: #fff; 
    -webkit-transition: all 0.1s ease-in-out; 
    -moz-transition: all 0.1s ease-in-out; 
    -o-transition: all 0.1s ease-in-out; 
    -ms-transition: all 0.1s ease-in-out; 
    transition: all 0.1s ease-in-out; 
} 

.panel-title-bg { 
    padding: 10px 10px 10px 10px; 
    color: #fff; 
    position: relative; 
    bottom: -190px; 
} 

.panel-title-bg span { 
    background-color: rgba(209,3,115,.6); /*#d10373; */ 
    padding: 10px 10px 10px 10px; 
    color: #fff; 
    text-transform: uppercase; 
} 

.panel-title-bg span:hover{ 
    background-color: rgba(209,3,115,1.0); 

} 


.img-panel { 
    height: 250px; 
    background-size: cover; 
    background-repeat: no-repeat; 
    background-position: center; 
} 

#img1:hover + panel-text-area-efftct{ 
    background-color:#d10373; 
} 


#img1 { 
    background-image: url(http://lorempixel.com/image_output/food-q-c-700-430-1.jpg); 
} 

#img2 { 
    background-image: url(http://lorempixel.com/image_output/fashion-q-c-700-430-3.jpg); 
} 
+0

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

+0

Привет @ TheLimeTrees, извините за то, что не ясны - когда я наводил курсор на область изображения - я хочу, чтобы фон серого ящика был розовым, а заголовок фона был 1,0 в прозрачности – SteveDavies

ответ

1

Просто измените CSS:

Изменить это:

.panel-txt-area:hover { 
    background-position: 0 100%; 
    background-color: #d10373; 
    color: #fff; 
    -webkit-transition: all 0.1s ease-in-out; 
    -moz-transition: all 0.1s ease-in-out; 
    -o-transition: all 0.1s ease-in-out; 
    -ms-transition: all 0.1s ease-in-out; 
    transition: all 0.1s ease-in-out; 
} 

к этому:

.box-link:hover .panel-txt-area, 
.panel-txt-area:hover { 
    background-position: 0 100%; 
    background-color: #d10373; 
    color: #fff; 
    -webkit-transition: all 0.1s ease-in-out; 
    -moz-transition: all 0.1s ease-in-out; 
    -o-transition: all 0.1s ease-in-out; 
    -ms-transition: all 0.1s ease-in-out; 
    transition: all 0.1s ease-in-out; 
} 

и изменить:

.panel-title-bg span:hover{ 
    background-color: rgba(209,3,115,1.0); 

} 

к этому:

.box-link:hover .panel-title-bg span, 
.panel-title-bg span:hover{ 
    background-color: rgba(209,3,115,1.0); 

} 

Все, что мы делаем, добавляя дополнительное состояние парения при наведении курсора на якорь .box подключаемой!

UPDATE

Я думаю технически вам не нужны исходные состояния при наведении курсора мыши, как вы не будете в состоянии сделать их по отдельности больше ... так что вы можете удалить .panel-Txt-область: парить и .panel-title-bg span: наведите курсор, если хотите ...

+0

Привет, @ Daniel C это очень близко - он удалил цвет фона Заголовок. Мне нужно было так, как было. Спасибо за вашу помощь! – SteveDavies

+0

Это интересно, как когда я его протестировал, фон становится твердым (100% непрозрачность) розовым ... разве это не желание? Но так как вы приняли этот ответ, я предполагаю, что все это сработало? –

+0

Привет, Даниэль, да, но когда я не паря, мне нужно Название должно быть около 80% непрозрачности, оно удалило фон - он до меня дошел, мне нужно будет играть больше – SteveDavies

0

У вас есть некорректные структуры именования в вашем CSS.

  • Ни один класс или ID индикатор panel-text-area-efftct
  • Выбор неправильный элемент не добавлять изменения фона на

Попробуйте изменить из

#img1:hover + panel-text-area-efftct{ 
    background-color:#d10373; 
} 

Для этого и добавить новый селектор

.img-panel:hover .panel-title-bg span, 
.img-panel:hover ~ .panel-txt-area { 
    background-color: rgba(209,3,115,1.0); 
} 

Это также должно работать на всех изображениях & текстовых областей, а не только на первом.

Полный пример: JSFiddle

+0

Привет @Stewatside - не совсем то, что мне было нужно, также нужно изменить фон фона blablabla на розовый. Спасибо, подумал! – SteveDavies

+0

@SteveDavies взгляните на мой измененный код и пример, вы получите желаемый вид. – Stewartside

+0

Спасибо за вашу помощь. Мне все равно нужен Заголовок, чтобы не быть прозрачным, когда я перекатываюсь над областью blablabla - мне придется это продумать. Спасибо! – SteveDavies

0

check this fiddle

ваш код, как это, я только что добавили функцию JQuery для достижения желаемого эффекта.

<div class="container"> 
    <div class="row"> 
    <div class="col-lg-4 col-md-4 col-sm-6 col-sx-12"> 
    <a href="#" class="box-link " id=""> 
     <div class="row sm-gutter"> 
     <div class="img-panel" id="img1"> 
      <div class="panel-title-bg"> 
      <div class="panel-title-text" id="panel-text-area-efftct"> 
       <h3><span>Title &raquo;</span></h3> 
      </div> 
      </div> 
     </div> 
     <div class="panel-txt-area"> 
      <p>blablablabla</p> 

     </div> 
     </div> 
    </a> 
    </div> 
    <div class="col-lg-4 col-md-4 col-sm-6 col-sx-12"> 
    <a href="#" class="box-link" id="#"> 
     <div class="row sm-gutter"> 
     <div class="img-panel" id="img2"> 
      <div class="panel-title-bg"> 
      <div class="panel-title-text"> 
       <h3><span>Title &raquo;</span></h3> 
      </div> 
      </div> 
     </div> 
     <div class="panel-txt-area"> 
      <p>blablablabla.</p> 

     </div> 
     </div> 
    </a> 
    </div> 
</div> 

JQuery функция:

$(".img-panel").hover(function(){ 
$(".panel-title-text").css("opacity","0"); 
$(".panel-txt-area").css("background-color","pink"); 
}); 

надеюсь, что это помогает :)

+1

jQuery не требуется для всего, и вы можете получить довольно плохие привычки, если вам нужно jQuery, когда вы можете очень легко сделать это в CSS. – Stewartside

+0

выбор полностью ваш без проблем :). Но я думаю, что jquery обеспечивает желаемый эффект с очень низким кодом и эффективностью, поэтому я предложил. Но, как я сказал, окончательное решение полностью ваше. :);) –

+0

Привет, спасибо за ваш ответ. Не совсем то, что я хочу - я хочу изменить не только один элемент, а не только один. – SteveDavies

0

вы не сможете использовать бессвязное опрокидывание, как это с помощью CSS, только Javascript будет в состоянии смотреть на состояние другой элемент и применяется в других местах на условиях и т. д. Если бы это был ребенок, то, конечно, он мог бы - это демонстрирует ниже. Вы coud использовать: -

.sm-gutter:hover, .sm-gutter:hover h3 span{ 
    background:purple; 
} 

Может ли это быть использованы вместо наклеивания с раствором CSS?

+0

Привет, Джейми, как я буду использовать это? – SteveDavies

+0

Извините, не уверен, что я следую? Можете ли вы добавить css i, предоставленный вашему решению? –

+0

Вам нужно будет удалить другие ссылки на hover, чтобы сохранить ваш css в чистоте и отменить необходимость перезаписи других вызовов css. Обратите внимание, что я использовал фиолетовый, чтобы вы могли видеть его работу. –

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