2017-12-11 10 views
1

내 표식에서 마우스 대신 이미지 대신 텍스트가 나타나려고합니다. w3schools 예제를 사용해 보았지만 내 코드에서 전혀 작동하지 않았습니다. 여기 내 코드가있다. 또한 내 코드에 대한 모든 팁이나 의견을 보내 주시면 감사하겠습니다.이미지 탐색시 텍스트 오버레이가 내 눈금에서 작동하지 않습니다.

내 코드에 마우스 오버 시도가 없으므로 모든 시도가 삭제되었으며 이전 위치입니다. 나는 당신의 질문을 이해

/*Navigation Bar*/ 
.hlogo { 
    text-align: center; 
    background-color: transparent; 
    width: 100%; 
    padding-top: 20px; 
} 

.hlogo a { 
    color: #092140; 
    text-decoration: none; 
    display: inline-block; 
    font-size: 50px; 
    font-family: 'Oswald', sans-serif; 
} 
.navbar { 
    background-color: transparent; 
    overflow: hidden; 
    text-align: center; 
    width: 100%; 
} 

.navbar a { 
    color: #092140; 
    text-decoration: none; 
    display: inline-block; 
    padding: 15px 10px; 
    padding-top: 5px; 
    font-family: 'Oswald', sans-serif; 
    font-weight: 300; 
} 

.navbar a:hover { 
    color:#F24738; 
} 

/* Grid */ 

.featured { 
    display: grid; 
    grid-template-columns: 25% 25% 25% 25%; 
    grid-template-rows: 50% 50%; 
} 

.featured > div { 
    text-align: center; 
} 

.fmain { 
    grid-column: 1/span 2; 
    grid-row: 1/span 2; 
    position: relative; 
} 

.fmain img { 
    width: 100%; 
} 

.main1 { 
    grid-column: 3/span 1; 
    grid-row: 1; 
} 

.main1 img { 
    width: 100%; 
} 

.main2 { 
    grid-column: 4/span 1; 
    grid-row: 1; 
} 

.main2 img { 
    width: 100%; 
} 

.main3 { 
    grid-column: 3/span 1; 
    grid-row: 2; 
} 

.main3 img { 
    width: 100%; 
} 

.main4 { 
    grid-column: 4/span 1; 
    grid-row: 2; 
} 

.main4 img { 
    width: 100%; 
} 

답변

0

확실하지 경우

HTML

<!-- Header Logo --> 
    <div class="hlogo"> 
     <a href="Home">Hidden Listen</a> 
    </div> 
    <!-- Header Links --> 

    <div class="navbar"> 
     <a href="Home">Home</a> 
     <a href="Reviews">Reviews</a> 
     <a href="Artists">Artists</a> 
    </div> 

    <!-- Grid of Home page --> 

    <div class="featured"> 
     <div class="fmain"> 
      <img src="/img/Album Covers/marvel1.jpg" alt="Album Cover"> 
      <h1>Text hover shit</h1> 
     </div> 
     <div class="main1"> 
      <img src="/img/Album Covers/fantasy.jpg"> 
     </div> 
     <div class="main2"> 
      <img src="/img/Album Covers/No Dope on Sundays.jpg"> 
     </div> 
     <div class="main3"> 
      <img src="/img/Album Covers/Scum Tyler.jpg"> 
     </div> 
     <div class="main4"> 
      <img src="/img/Album Covers/syre.jpg"> 
     </div> 
    </div> 

CSS. 혼란스럽게 보이는 "내 표식에 마우스를 올리면 이미지 대신 텍스트가 나타납니다". 그러나 언급했듯이 w3school을 사용해 보았습니다. 어떻게 든 당신은 아래의 해결책을 찾고 있다는 것을 이해했습니다. 여기에서 호버 텍스트 클래스를 추가해야하며 속성을 추가해야합니다. 아래에서 이와 같이 시도해보고 이것이 원하는 것이거나 다른 것을 찾고 있다면 알려주십시오. 호버 사용하여 CSS를 수행하기 위해

/*Navigation Bar*/ 
 
.hlogo { 
 
    text-align: center; 
 
    background-color: transparent; 
 
    width: 100%; 
 
    padding-top: 20px; 
 
} 
 

 
.hlogo a { 
 
    color: #092140; 
 
    text-decoration: none; 
 
    display: inline-block; 
 
    font-size: 50px; 
 
    font-family: 'Oswald', sans-serif; 
 
} 
 
.navbar { 
 
    background-color: transparent; 
 
    overflow: hidden; 
 
    text-align: center; 
 
    width: 100%; 
 
} 
 

 
.navbar a { 
 
    color: #092140; 
 
    text-decoration: none; 
 
    display: inline-block; 
 
    padding: 15px 10px; 
 
    padding-top: 5px; 
 
    font-family: 'Oswald', sans-serif; 
 
    font-weight: 300; 
 
} 
 

 
.navbar a:hover { 
 
    color:#F24738; 
 
} 
 

 
/* Grid */ 
 

 
.featured { 
 
    display: grid; 
 
    grid-template-columns: 25% 25% 25% 25%; 
 
    grid-template-rows: 50% 50%; 
 
} 
 

 
.featured > div { 
 
    text-align: center; 
 
} 
 

 
.fmain { 
 
    grid-column: 1/span 2; 
 
    grid-row: 1/span 2; 
 
    position: relative; 
 
} 
 

 
.fmain img { 
 
    width: 100%; 
 
} 
 

 
.main1 { 
 
    grid-column: 3/span 1; 
 
    grid-row: 1; 
 
} 
 

 
.main1 img { 
 
    width: 100%; 
 
} 
 

 
.main2 { 
 
    grid-column: 4/span 1; 
 
    grid-row: 1; 
 
} 
 

 
.main2 img { 
 
    width: 100%; 
 
} 
 

 
.main3 { 
 
    grid-column: 3/span 1; 
 
    grid-row: 2; 
 
} 
 

 
.main3 img { 
 
    width: 100%; 
 
} 
 

 
.main4 { 
 
    grid-column: 4/span 1; 
 
    grid-row: 2; 
 
} 
 

 
.main4 img { 
 
    width: 100%; 
 
} 
 
.overlay { 
 
    position: absolute; 
 
    bottom: 100%; 
 
    left: 0; 
 
    right: 0; 
 
    background-color: #008CBA; 
 
    overflow: hidden; 
 
    width: 100%; 
 
    height:0; 
 
    transition: .5s ease; 
 
} 
 
.text { 
 
    white-space: nowrap; 
 
    color: white; 
 
    font-size: 20px; 
 
    position: absolute; 
 
    overflow: hidden; 
 
    top: 25%; 
 
    left: 50%; 
 
    transform: translate(-50%, -50%); 
 
    -ms-transform: translate(-50%, -50%); 
 
} 
 
.fmain:hover .overlay { 
 
    bottom: 0; 
 
    height: 100%; 
 
}
<!-- Header Logo --> 
 
    <div class="hlogo"> 
 
     <a href="Home">Hidden Listen</a> 
 
    </div> 
 
    <!-- Header Links --> 
 

 
    <div class="navbar"> 
 
     <a href="Home">Home</a> 
 
     <a href="Reviews">Reviews</a> 
 
     <a href="Artists">Artists</a> 
 
    </div> 
 

 
    <!-- Grid of Home page --> 
 

 
    <div class="featured"> 
 
     <div class="fmain"> 
 
      <img src="/img/Album Covers/marvel1.jpg" alt="Album Cover"> 
 
      <div class="overlay"> 
 
      <h1 class="text">Text hover shit</h1> 
 
      </div> 
 
     </div> 
 
     <div class="main1"> 
 
      <img src="/img/Album Covers/fantasy.jpg"> 
 
     </div> 
 
     <div class="main2"> 
 
      <img src="/img/Album Covers/No Dope on Sundays.jpg"> 
 
     </div> 
 
     <div class="main3"> 
 
      <img src="/img/Album Covers/Scum Tyler.jpg"> 
 
     </div> 
 
     <div class="main4"> 
 
      <img src="/img/Album Covers/syre.jpg"> 
 
     </div> 
 
    </div>

0

그런 다음 요소 또는의 ID에 :hover를 사용하여 텍스트 없음의 표시를 설정해야합니다 그것을

을 할 수있는 많은 방법이있다 이 수업은 .hoverText:hover이되고 display:block; 그게 전부입니다.

https://jsfiddle.net/Liamm12/n2w38whv/

.hlogo { 
 
    text-align: center; 
 
    background-color: transparent; 
 
    width: 100%; 
 
    padding-top: 20px; 
 
} 
 

 
.hlogo a { 
 
    color: #092140; 
 
    text-decoration: none; 
 
    display: inline-block; 
 
    font-size: 50px; 
 
    font-family: 'Oswald', sans-serif; 
 
} 
 
.navbar { 
 
    background-color: transparent; 
 
    overflow: hidden; 
 
    text-align: center; 
 
    width: 100%; 
 
} 
 

 
.navbar a { 
 
    color: #092140; 
 
    text-decoration: none; 
 
    display: inline-block; 
 
    padding: 15px 10px; 
 
    padding-top: 5px; 
 
    font-family: 'Oswald', sans-serif; 
 
    font-weight: 300; 
 
} 
 

 
.navbar a:hover { 
 
    color:#F24738; 
 
} 
 

 
/* Grid */ 
 

 
.featured { 
 
    display: grid; 
 
    grid-template-columns: 25% 25% 25% 25%; 
 
    grid-template-rows: 50% 50%; 
 
} 
 

 
.featured > div { 
 
    text-align: center; 
 
} 
 

 
.fmain { 
 
    grid-column: 1/span 2; 
 
    grid-row: 1/span 2; 
 
    position: relative; 
 
} 
 
.hoverText{ 
 
    display:none; 
 
    position: absolute; 
 
    top: 10%; 
 
    font-size: 28px; 
 
    left: 15%; 
 
    color: #fff; 
 
    transition: all 0,3s ease; 
 
} 
 
.hoverText:hover{ 
 
    display: block; 
 
} 
 

 

 

 
.fmain img { 
 
    width: 100%; 
 
} 
 
.fmain img:hover ~ .hoverText { 
 
    display:block; 
 
} 
 

 

 
.main1 { 
 
    grid-column: 3/span 1; 
 
    grid-row: 1; 
 
} 
 

 
.main1 img { 
 
    width: 100%; 
 
} 
 
.main2 { 
 
    grid-column: 4/span 1; 
 
    grid-row: 1; 
 
} 
 

 
.main2 img { 
 
    width: 100%; 
 
} 
 

 
.main3 { 
 
    grid-column: 3/span 1; 
 
    grid-row: 2; 
 
} 
 

 
.main3 img { 
 
    width: 100%; 
 
} 
 

 
.main4 { 
 
    grid-column: 4/span 1; 
 
    grid-row: 2; 
 
} 
 

 
.main4 img { 
 
    width: 100%; 
 
}
<!-- Header Logo --> 
 
    <div class="hlogo"> 
 
     <a href="Home">Hidden Listen</a> 
 
    </div> 
 
    <!-- Header Links --> 
 

 
    <div class="navbar"> 
 
     <a href="Home">Home</a> 
 
     <a href="Reviews">Reviews</a> 
 
     <a href="Artists">Artists</a> 
 
    </div> 
 

 
    <!-- Grid of Home page --> 
 

 
    <div class="featured"> 
 
     <div class="fmain"> 
 
      <img src="http://cdn.pcwallart.com/images/universe-wallpaper-3d-wallpaper-2.jpg" alt="Album Cover"> 
 
      <h1 class="hoverText">Text hover shit</h1> 
 
     </div> 
 
     <div class="main1"> 
 
      <img src="/img/Album Covers/fantasy.jpg"> 
 
     </div> 
 
     <div class="main2"> 
 
      <img src="/img/Album Covers/No Dope on Sundays.jpg"> 
 
     </div> 
 
     <div class="main3"> 
 
      <img src="/img/Album Covers/Scum Tyler.jpg"> 
 
     </div> 
 
     <div class="main4"> 
 
      <img src="/img/Album Covers/syre.jpg"> 
 
     </div> 
 
    </div>

0

.hlogo { 
 
    text-align: center; 
 
    background-color: transparent; 
 
    width: 100%; 
 
    padding-top: 20px; 
 
} 
 

 
.hlogo a { 
 
    color: #092140; 
 
    text-decoration: none; 
 
    display: inline-block; 
 
    font-size: 50px; 
 
    font-family: 'Oswald', sans-serif; 
 
} 
 
.navbar { 
 
    background-color: transparent; 
 
    overflow: hidden; 
 
    text-align: center; 
 
    width: 100%; 
 
} 
 

 
.navbar a { 
 
    color: #092140; 
 
    text-decoration: none; 
 
    display: inline-block; 
 
    padding: 15px 10px; 
 
    padding-top: 5px; 
 
    font-family: 'Oswald', sans-serif; 
 
    font-weight: 300; 
 
} 
 

 
.navbar a:hover { 
 
    color:#F24738; 
 
} 
 

 
/* GRID---- */ 
 

 
.grid{ 
 
     width:100%; 
 
     position:relative; 
 
     overflow:hidden; 
 
     list-style-type: none; 
 
     margin-left:120px; 
 
} 
 

 

 
.griditem .gridhover{ 
 
     transform: scaleY(1); 
 
} 
 

 
.griditem{ 
 
    max-width:100%; 
 
    height:auto; 
 
    position:relative; 
 
    float:left; 
 
    width: 200px; 
 
    margin: 0 0 10px 10px; 
 
} 
 

 
.gridhover{ 
 
    position:absolute; 
 
    width:100%; 
 
    height:100%; 
 
    top:0%; 
 
    transform: translateY(-50%); 
 
    z-index: 2; 
 
    opacity:0; 
 
    text-align: center; 
 
    -webkit-transition:all 0.3s ease-in; 
 
    -moz-transition:all 0.3s ease-in; 
 
    -o-transition:all 0.3s ease-in; 
 
    transition:all 0.3s ease-in; 
 
    background: grey; 
 
    
 

 
} 
 
.gridhover:hover{ 
 
    opacity: 0.96; 
 

 
} 
 
.gridhover h{ 
 
    font-size:30px; 
 
    width: 100%; 
 
    position:absolute; 
 
    font-weight:700; 
 
    line-height: 50px; 
 

 
} 
 
.gridhover p{ 
 
    font-size:20px; 
 
    position:absolute; 
 

 
} 
 
.grid img{ 
 
    width: 100%; 
 
} 
 

 
    
 
<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<title>HTML, CSS and JavaScript demo</title> 
 
</head> 
 
<body> 
 
<!-- Header Logo --> 
 
    <div class="hlogo"> 
 
     <a href="Home">Hidden Listen</a> 
 
    </div> 
 
    <!-- Header Links --> 
 

 
    <div class="navbar"> 
 
     <a href="Home">Home</a> 
 
     <a href="Reviews">Reviews</a> 
 
     <a href="Artists">Artists</a> 
 
    </div> 
 
<ul class="grid"> 
 
      
 
      <li class="griditem"> 
 
      <img src="https://helloworld.co.nz/images/helloworld-logo.jpg" alt="Album Cover"> 
 
       <a class="link" href="https://www.google.co.uk/search?q=hello&oq=hello&aqs=chrome..69i57j0l5.703j0j7&sourceid=chrome&ie=UTF-8"> 
 
       <div class="gridhover" id="marvel1"> 
 
        <h1>Text hover shit</h1> 
 
       </div> 
 
       </a> 
 
      </li> 
 
      
 
      
 
      
 
      <li class="griditem"> 
 
      <img src="https://s-media-cache-ak0.pinimg.com/originals/9c/b7/ea/9cb7ea4872cf0622377402694c26228a.jpg" alt="Album Cover"> 
 
       <a class="link" href="https://www.google.co.uk/search?q=hello&oq=hello&aqs=chrome..69i57j0l5.703j0j7&sourceid=chrome&ie=UTF-8"> 
 
       <div class="gridhover" id="marvel1"> 
 
        <h1>Text hover shit</h1> 
 
       </div> 
 
       </a> 
 
      </li> 
 
    </ul> 
 
</body> 
 
</html>

첫째을 나는 당신과 같은 많은 쉽게 CSS를 기록 할 것해서 그리드에 대한 목록을 사용합니다 모든 그리드 항목에 동일한 CSS를 사용할 수 있습니다.

그리드 이미지의 크기가 다른 경우에는 약간의 크기를 수정하기 위해 각 격자 항목에 고유 한 ID 태그를 추가 할 수 있습니다

<li class="griditem" id="special_item"> 

하는이 형식은 시간을 절약 할 수 및 HTML 형식을 쉽게 처리 할 수 ​​있습니다 :

 <ul class="grid"> 

     <li class="griditem"> 
     <img src="/img/Album Covers/marvel1.jpg" alt="Album Cover"> 
      <a class="link" href="projects/something/something.php"> 
      <div class="gridhover" id="marvel1"> 
       <h1>Text hover shit</h1> 
      </div> 
      </a> 
     </li> 

이 방법으로 확장하기가 훨씬 쉽습니다. 그렇지 않은 경우에도 의미 상으로 정확하기를 원합니다.

이 시나리오에서 div를 통해 목록을 사용하면 Google 로봇, 스크린 리더 및 시각 장애인 사용자에게 도움이됩니다.