a태그 속성이 visited를 해서 메뉴 아래에 밑줄을 만들고 싶은 데 애만 안됩니다.

a태그 속성이 visited를 해서 메뉴 아래에 밑줄을 만들고 싶은 데 애만 안됩니다.

QA

a태그 속성이 visited를 해서 메뉴 아래에 밑줄을 만들고 싶은 데 애만 안됩니다.

본문

<nav id = "menu_bar">

        <ul>

            <li><a href="object.php">오늘의 운세</a></li>

            <li><a href="row.php">띠운세</a></li>

            <li><a href="star.php">별자리운세</a></li>

            <li><a href="want_listen.php">듣고 싶은 말</a></li>

            <li><a href="#">포춘쿠키</a></li>

            <li><a href="fortune_item.php">행운의 아이템</a></li>  

        </ul>

   

</nav>

 

 

 

#menu_bar{ width: 100%; height: 70px; background-color: #FFFDF5;}

#menu_bar ul{display : flex;flex-direction: row;justify-content: space-between;}

#menu_bar li {font-size:28px;display:inline;padding: 20px;}

#menu_bar li a{color:black; text-decoration: none;}

#menu_bar li a:visited{border-bottom: 5px solid black;}

 

visited말고 hover같은 다른 속성은 되는데 visited를 하면은 방문한페이지만 밑줄을 만들고 싶은데 안됩니다.

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

[1. 하드코딩인 경우 

- 각 페이지 마다 네비가  각각 적용시 A 버튼  CLASS 안에  on  추가 : 예 ) 포츈쿠키

 

아래 스타일 추가 한후에


<style type="text/css">
#menu_bar li a.on { border-bottom:2px solid #FF0000}
</style>

네비 버튼에 원하는 곳에 class="on"

적용하면 됨


 <nav id = "menu_bar">
        <ul>
            <li><a href="object.php">오늘의 운세</a></li>
            <li><a href="row.php">띠운세</a></li>
            <li><a href="star.php" >별자리운세</a></li>
            <li><a href="want_listen.php"  >듣고 싶은 말</a></li>
            <li><a class="on" >포춘쿠키</a></li>
            <li><a href="fortune_item.php">행운의 아이템</a></li>  
        </ul>
</nav>

 

 

 

[2. 하드코딩인 경우 

공통 헤더가 들어가고  각 페이지 마다 클래스 적용하여 나타내기

 


<!-- 공통 네비 css  -->
<style type="text/css">
#menu_bar2{ width: 100%; height: 70px; }
#menu_bar2 ul{display : flex;flex-direction: row;justify-content: space-between;}
#menu_bar2 li {font-size:28px;display:inline;padding: 20px;}
#menu_bar2 li a {  color:#333; text-decoration:none; font-size: 28px;  padding:5px 10px   }
 #menu_bar2 li a:link {  color:#333; text-decoration:none;  }
 #menu_bar2 li a:visited {  color:#ff0000; text-decoration:none;    }
#menu_bar2 li a:hover {    color:#ff0000; }
</style>
 
 <nav id = "menu_bar2">
        <ul>
            <li class="navi_1"><a href="object.php">오늘의 운세</a></li>
            <li class="navi_2"><a  href="row.php">띠운세</a></li>
            <li class="navi_3"><a href="star.php" >별자리운세</a></li>
            <li class="navi_4"><a href="want_listen.php"  >듣고 싶은 말</a></li>
            <li class="navi_5"><a href="#" >포춘쿠키</a></li>
            <li class="navi_6"><a href="fortune_item.php">행운의 아이템</a></li>  
        </ul>
</nav>

li 안에 class를 각각 준후  원하는 해당 페이지 상단에 아래 스타일 추가

 


<!-- 해당 페이지 상단에 추가할 css-->
<style type="text/css">
    #menu_bar2 li.navi_6 a {color:#ff0000;  border-bottom:2px solid #FF0000}
</style>

 

 

 

[3. 스크립트를 활용한  네비 on 적용  

- 공통 상단에 한번만 적용하면 됨 ( 단, php)


 <nav id = "menu_bar3">
        <ul>
            <li class="navi_1"><a  href="object.php?page=100">오늘의 운세</a></li>
            <li class="navi_2"><a  href="row.php?page=200">띠운세</a></li>
            <li class="navi_3"><a href="star.php?page=300" >별자리운세</a></li>
            <li class="navi_4"><a href="want_listen.php?page=400"  >듣고 싶은 말</a></li>
            <li class="navi_5"><a href="fortunephp?page=500" >포춘쿠키</a></li>
            <li class="navi_6"><a href="fortune_item.php?page=600">행운의 아이템</a></li>  
        </ul>
</nav>
  

원하는 링크 주소 뒤에 페이지명 추가  ( 예 : ?page=600 )

 

아래 에 스크립트 추가 


<?php
if($page==100) {
   echo "<style type='text/css'> #menu_bar3 li.navi_1 a {color:#ff0000;  border-bottom:2px solid #FF0000}</style>";
} else {
   echo "";
}
if($page==200) {
   echo "<style type='text/css'> #menu_bar3 li.navi_2 a {color:#ff0000;  border-bottom:2px solid #FF0000}</style>";
} else {
   echo "";
}
if($page==300) {
   echo "<style type='text/css'> #menu_bar3 li.navi_3 a {color:#ff0000;  border-bottom:2px solid #FF0000}</style>";
} else {
   echo "";
}
if($page==400) {
   echo "<style type='text/css'> #menu_bar3 li.navi_4 a {color:#ff0000;  border-bottom:2px solid #FF0000}</style>";
} else {
   echo "";
}
if($page==500) {
   echo "<style type='text/css'> #menu_bar3 li.navi_5 a {color:#ff0000;  border-bottom:2px solid #FF0000}</style>";
} else {
   echo "";
}
 if($ca_id==600) {
   echo "<style type='text/css'> #menu_bar3 li.navi_6 a {color:#ff0000;  border-bottom:2px solid #FF0000}</style>";
} else {
   echo "";
}
?>

 

해당 페이지 주소로 가면 해당 스크립트의 스타일이 적용되는 방식.

코드는 조금 무식하고  지저분하지만 그래도 간편하게 쓸수 있는 방법입니다.

 

더 깔끔하게 보기좋은 코드 정리는 더 높은 고수님들께 패스~~

 

visited 속성을 집어 넣는 자바스크립트가 필요합니다.

 

클릭했을 때, 자바스크립트가 실행하고, 그 안에서 visited 속성을 li에 집어 넣으면,

 

CSS가 알아서 밑줄을 넣어 주겠죠..

답변을 작성하시기 전에 로그인 해주세요.
전체 123,657 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT