다른 색상의 활성 메뉴 링크 페이지의 배경을 가진 메뉴에 대한 순수 CSS/HTML 구조를 만들려고합니다. 그 때문에 나는 :checked
셀렉터를 사용하고 있습니다. 입력 요소를 클릭하여이 작업을 수행 할 수 있지만 실제로 링크를 클릭하면 아무 일도 일어나지 않습니다.내가 현재있는 페이지를 강조하는 순수한 CSS 메뉴
메뉴의 모든 페이지에 메뉴 코드를 갖고 싶지 않고 포함 파일에 포함시키고 싶습니다. 내가 옳지 않은 일을 말해주십시오. 이 목적을 위해 javascript/jquery를 사용하고 싶지 않습니다.
편집 -
이 별도의 링크와 함께 별도의 페이지입니다. 나는 모든 링크를 똑같이 유지하여 나의 코데펜 밖으로 나가지 않도록했다.
이 내 codepen입니다 - https://codepen.io/anon/pen/zPrOoj이 내 조각 - 당신은 에 링크 Codepen는에만 CSS로
.nav {
float: left;
width: 100%;
background-color: rgba(248, 220, 192, 1);
color: black;
display: table;
table-layout: fixed;
}
.nav ul {
width: 100%;
float: left;
white-space: nowrap;
display: flex;
flex-direction: row;
\t overflow: hidden;
\t margin: 0;
padding: 0;
}
.nav ul li.nav_bar {
display: inline;
padding: 1% 0% .5% 0.75%;
border-right: solid 1px rgba(78, 52, 25, 1);
\t flex-grow: 1;
}
.nav ul li a {
color: black;
\t display: block;
\t
}
.nav ul li.active {
\t background-color: rgba(103, 140, 57, 1);
\t \t
}
.nav ul li.active a {
border-bottom: none;
padding-bottom: 4px;
\t color : #ccc;
}
.nav ul li.nav_bar:last-child {
border-right: none;
}
a.nav_bar {
text-align: center;
text-decoration: none;
font-family: verdana;
font-size: 16px;
}
a.nav_bar:hover {
color: red;
}
.menu1:checked ~ ul.nav_bar>.num1+li.first {
background: blue;
}
.menu2:checked ~ ul.nav_bar>.num2+li.second {
background: red;
}
.menu3:checked ~ ul.nav_bar>.num3+li.third {
background: pink;
}
.menu4:checked ~ ul.nav_bar>.num4+li.fourth {
background: yellow;
}
<div class="nav" >
<input class="menu1" id="_menu1" type="checkbox">
<input class="menu2" id="_menu2" type="checkbox">
<input class="menu3" id="_menu3" type="checkbox">
<input class="menu4" id="_menu4" type="checkbox">
\t <ul id="respons-text1" class="nav_bar">
<label class="num1" for="_menu1">
<span></span></label>
\t \t <li class="nav_bar active first"><a class="nav_bar" href="#">home</a>
\t \t </li>
<label class="num2" for="_menu2">
<span></span></label>
\t \t <li class="nav_bar second"><a class="nav_bar" href="#">about</a>
\t \t </li>
<label class="num3" for="_menu3">
<span></span></label>
\t \t <li class="nav_bar third"><a class="nav_bar" href="#">work areas</a>
\t \t </li>
<label class="num4" for="_menu4">
<span></span></label>
\t \t <li class="nav_bar fourth"><a class="nav_bar" href="#">contact</a>
\t \t </li>
\t </ul>
</div>
나는 새 페이지를로드 할 때 각 페이지에서 체크 박스를 반복하지 않는 확인 올바른 확인란을 유지하고 넣을 수있는 방법이 없기 때문에 당신이 자바 스크립트없이 그것을 달성 할 수 있다고 생각 속성을 올바른 입력으로 확인했습니다. 펜은 어쨌든 잘 작동하지 않습니다. 이것은 HTML과 CSS 일 뿐이며 데이터베이스를 사용하고 있습니까? 이 경우 현재 페이지를 검색하고 클래스를 동적으로 현재 페이지에 할당 할 수 있습니다. –
이것은 HTML과 CSS입니다. 메뉴 항목은 데이터베이스에서 가져 오지 않습니다. – user20152015