css hover opacity

css hover opacity

작성일 2023.08.29댓글 2건
    게시물 수정 , 삭제는 로그인 필요

안녕하세요 웹디자인 공부를 하면서 웹을 하나 만들어보려고 하는데 문제가 생겼습니다. 첫 번째 사진에서 html이라는 글자 네모칸에 마우스를 가져다 대면 두 번째 사진처럼 그 칸이 검정색으로 되고 글자도 흰색으로 바뀌면서 옆에 여러 네모들이 나오게 하고 싶었거든요. 


그래서

html은
<body>
  <div class="top">
    <p>웹 디자인 개념 정리</p>
  </div>

  <nav class="nav1">
    <ul>
      <li class="nav1_1"><a href="html">HTML</a></li>
      <li class="nav1_2"><a href="css">CSS</a></li>
      <li class="nav1_3><a href="java">JAVA SCRIPT</a></li>
    </ul>
  </nav>

  <nav class="nav2">
    <ul>
      <li>HTML 기본 문서</li>
      <li>웹 문서 내용</li>
      <li>입력 양식</li>
    </ul>
  </nav>

  <nav class="nav3">
    <ul>
      <li>CSS 기본</li>
      <li>텍스트 표현</li>
      <li>박스 모델</li>
      <li>배경</li>
      <li>고급 선택자</li>
      <li>트렌지션과 <br>애니메이션</li>
      <li>반응형 웹과 <br>미디어 쿼리</li>
    </ul>
  </nav>

  <nav class="nav4">
    <ul>
      <li>자바스크립트</li>
      <li>기본 문법</li>
      <li>함수와 이벤트</li>
      <li>객체</li>
      <li>문서 객체 모델</li>
    </ul>
  </nav>
</body>

이렇게 썼고

css는

<style>
    body { margin: 0; }
    .top {
      width: 100vw;
      height: 38px;
      border: 2px solid #000;
      font-size: 17pt;
    }
    .top p { margin: 0; }
    .nav1 {
      float: left;
      position: relative;
      top: -2px;
    }
    .nav1 ul {
      width: 175px;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .nav1 ul li {
      height: 59px;
      border : 2px solid #000;
      border-bottom: none;
      font-size: 15pt;
      text-align: center;
      line-height: 59px;
     
    }
    .nav1 li:last-child {
      border-bottom: 2px solid #000;
    }
    .nav2 {
      position: absolute;
      left: 173px;
      top: 40px;
    }
    .nav2 ul {
      width: 183px;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .nav2 ul li {
      height: 104px;
      border: 2px solid #000;
      border-bottom: none;
      font-size: 15pt;
      text-align: center;
      opacity: 0;
    }
    .nav2 li:last-child {
      border-bottom: 2px solid #000;
    }
    .nav3 {
      position: absolute;
      left: 173px;
      top: 40px;
    }
    .nav3 ul {
      width: 183px;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .nav3 ul li {
      height: 104px;
      border: 2px solid #000;
      border-bottom: none;
      font-size: 15pt;
      text-align: center;
      opacity: 0;
    }
    .nav3 li:last-child {
      border-bottom: 2px solid #000;
    }
   
    .nav4 {
      position: absolute;
      left: 173px;
      top: 40px;
    }
    .nav4 ul {
      width: 183px;
      list-style: none;
      margin: 0;
      padding: 0;
    }
    .nav4 ul li {
      height: 104px;
      border: 2px solid #000;
      border-bottom: none;
      font-size: 15pt;
      text-align: center;
      opacity: 0;
    }
    .nav4 li:last-child {
      border-bottom: 2px solid #000;
    }

    .nav1_1:hover, .nav1_1:focus {
      background-color: #000;
      color: #fff;
    }
    .nav1_1:hover .nav2 ul li {
      opacity: 1;
    }
    .nav1_1:active {
      background-color: #000;
      color: #fff;
    }

  </style>
</head>

이렇게 썼어요.

nav2부터 4까지 opacity를 0으로 한 다음
nav1_1에 가져다 대면 opacity가 1로 바뀌도록 적었는데
nav2가 안나타나고 반응도 없이 그냥 html이라는 박스에 검정색만 뜨네요.

도저히 해결이 안되서 여쭤봅니다,,,,








#css hover #css hover 효과 모음 #css hover 효과 #css hover 제거 #css hover 애니메이션 #css hover 반대 #css hover 다른 클래스 #css hover 이미지 바꾸기 #css hover transition #css hover 사용법

profile_image 익명 작성일 -

.nav1_1:hover .nav2 ul li {

부분에서 .nav1_1 요소의 상위요소가 .nav2 입니다.

css 에서는 자신보다 상위요소에게 효과를 적용할수 없으니

jquery 를 사용해야 합니다.

profile_image 익명 작성일 -

nav요소는 내비게이션을 말한는 것으로 중복으로 사용하면 안될것 같습니다.

그래서 아래와 같이 수정해 봤습니다.

<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Web Design</title> <style> * { margin:0 ; padding:0 ; border:none ; text-decoration:none ; color:#444444 ; list-style:none ; } #header , #logo { width:100% ; box-sizing:border-box } #logo { padding:10px ; border:2px solid #000000 ; font-size:16px ; line-height:18px ; } #nav , .nav_d1_link { width:150px ; box-sizing:border-box } #nav { position:relative ; overflow:hidden } #nav:hover { width:330px ; height:600px } .nav_d1_link , .nav_d2_link { display:block ; background-color:#ffffff ; border:2px solid #000000 ; border-top:none ; font-size:14px ; line-height:24px ; text-align:center ; font-weight:600 ; padding:17px 5px 19px 5px ; transition:0.3s all } .nav_sub , .nav_d2_link { width:180px ; box-sizing:border-box } .nav_sub { position:absolute ; left:148px ; top:0 ; z-index:5 ; opacity:0 ; height:0 ; overflow:hidden ; } .nav_depth1:hover .nav_sub , .nav_sub:hover { opacity:1 ; z-index:10 ; height:auto } .nav_depth1:hover .nav_d1_link , .nav_d2_link:hover { background-color:#000000 ; color:#ffffff } </style> </head> <body> <header id="header"> <h1 id="logo">웹 디자인 개념 정리</h1> <nav id="nav"> <ul class="nav_list"> <li class="nav_depth1"> <a href="#" class="nav_d1_link">HTML</a> <ul class="nav_sub"> <li class="nav_depth2"><a href="#" class="nav_d2_link">HTML 기본 문서</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">웹 문서 내용</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">입력 양식</a></li> </ul> </li> <li class="nav_depth1"> <a href="#" class="nav_d1_link">CSS</a> <ul class="nav_sub"> <li class="nav_depth2"><a href="#" class="nav_d2_link">CSS 기본</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">텍스트 표현</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">박스 모델</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">배경</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">고급 선택자</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">트렌지션과 <br> 애니메이션</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">반응형 웹과 <br> 미디어 쿼리</a></li> </ul> </li> <li class="nav_depth1"> <a href="#" class="nav_d1_link">JAVASCRIPT</a> <ul class="nav_sub"> <li class="nav_depth2"><a href="#" class="nav_d2_link">자바스크립트</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">기본 문법</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">함수와 이벤트</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">객체</a></li> <li class="nav_depth2"><a href="#" class="nav_d2_link">문서 객체 모델</a></li> </ul> </li> </ul> </nav> </header> </body> </html>

도움이 되었으면 좋겠습니다.

[광고]HTML을 조립하여 홈페이지를 만들다. - jolib.kr

http://jolib.kr/

홈페이지, 웹디자인, 웹퍼블리싱, 웹프로그램 하려면 뭘 배워야 하나요?

스터디 조립은 웹디자이너 및 웹펴블리셔를 꿈꾸시는 분들을 위한 스터디 공간입니다.

HTML5, CSS3, 자바스크립트(Javascript/jQuery) 기초를 독학으로 배울 수 있도록 도와드립니다.

상담과 격려로 도와드리겠습니다.

https://blog.naver.com/redoxup/223041401363

CSS hover 오류

... display: block; } .a:hover + .b{ opacity: 1; } .a{ position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 300px; height: 300px; background...

이미지에 hoveropacity css적용하면...

질문그대로, 아래그림처럼 이미지에 hoveropacity css적용하면 선이 생겨요.. 이미지 확장자가 png나 gif일때만 발생하구요, jpg로 하면 또 정상적으로...

css hover 질문

... margin-left:250px; } #img2:hover{ width: 225px; height: 224px; opacity: 0.6;... 작성하신 css에 약간의 문제가 있습니다. img에 속성을 부여하면...

css hover 질문.

... left: 50%; }} &:hover span{opacity: 1; visibility: visible;}} } 브라우저가 HTML 을 읽어 표시하고, CSS 코드를 읽어 적용하기 까지 시간이...

CSS hover 선택자 질문

... opacity:0; } li:hover span { opacity:1; } 이유가 뭐여ㅕㅕㅕ 여기 이미지에 커서를 올리면 텍스트 나오는 걸 하고 있는데요 ㅠ li:hover...

css 이용해서 마우스 hover 이벤트

... (+트랜지션사용하면 부드럽게 hover효과됨)} img:hover {opacity:0} 이미지를 둘러싸고있는 div에 hover div img {opacity:1; (+트랜지션사용하면...