• 회원가입
  • 로그인
  • 구글아이디로 로그인

[selector] CSS - element+element 인접선택자 ★★ - 바로 뒤 인접형제요소 (요소선택자, IE7) + 스티키메뉴 (Sticky Menu) ※ 스크롤 상단고정메뉴 ※ 플러스기호선택자

목차
  1. element+element 예제 - h1태그 바로 뒤 p요소만 선택
  2. element+element 정의
  3. element+element 구문
  4. element+element 예제 - div태그 바로 뒤 p요소만 선택
  5. element+element 예제 - 스크롤 상단고정메뉴 (= Sticky Menu : 스티키메뉴)
  6. element+element 예제 - 인접선택자(+) 중접 적용
  7. element+element 예제 - 지정요소 바로 앞의 형제요소 선택

 

element+element 예제 - h1태그 바로 뒤 p요소만 선택

   
<style>
h1 + p {color: red;}
</style>
 
<p>홈페이지 무료 제작 강의</p>
<h1>홈짱닷컴 (homzzang.com)</h1>
<p>HTML 무료 강의</p>
<p>CSS 무료 강의</p>
<div>
   <p>JAVA 무료 강의</p>
</div>
 

element+element 정의


지정요소 바로 뒤 인접요소만 선택.

 


1. 
  • A + B 라고 할 경우, A 요소와 동위로 바로 뒤 인접하는 B 요소 선택. ※ (인접선택자 = 이웃선택자) 라고도 함.
  • :has(+ 지정선택자) - 지정선택자 바로 앞의 형제요소 선택.
 
2.
CSS버전: CSS2

3.

IE7 이상 주요 최신브라우저 지원.


4. MDN Next-sibling combinator (+) 선택자 예제보기
https://developer.mozilla.org/en-US/docs/Web/CSS/Next-sibling_combinator
 

 

element+element 구문

 

element + element{ css 선언; }

 

PS. + 기호 앞뒤 공백 유무 상관없음.

 

element+element 예제 - div태그 바로 뒤 p요소만 선택

 
<style>
div+p {color:red;}
</style>

<p>글 내용1</p>
<div>
    <p>글 내용2</p>
    <blockquote><p>글 인용</p></blockquote>
</div>
<p>글 내용3</p>
 
 

element+element 예제 - 스크롤 상단고정메뉴 (= Sticky Menu : 스티키메뉴)


<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="width=device-width, initial-scale=1">

<style>

body {

  margin: 0;

  font-size: 28px;

  font-family: Arial, Helvetica, sans-serif;

}


.header {

  background-color: #f1f1f1;

  padding: 30px;

  text-align: center;

}


#navbar {

  overflow: hidden;

  background-color: Tomato;

}


#navbar a {

  float: left;

  display: block;

  color: #f2f2f2;

  text-align: center;

  padding: 14px 16px;

  text-decoration: none;

  font-size: 17px;

}


#navbar a:hover {

  background-color: #ddd;

  color: black;

}


#navbar a.active {

  background-color: #4CAF50;

  color: white;

}


.content {

  padding: 16px;

}


.sticky {

  position: fixed;

  top: 0;

  width: 100%;

}


.sticky + .content {

  padding-top: 60px;

}

</style>

</head>

<body>


<div class="header">

  <h2>홈짱닷컴</h2>

  <p>Homzzang.com</p>

</div>


<div id="navbar">

  <a class="active" href="javascript:void(0)">Home</a>

  <a href="javascript:void(0)">HTML</a>

  <a href="javascript:void(0)">CSS</a>

  <a href="javascript:void(0)">JS</a>

</div>


<div class="content">

  <h3>홈페이지 제작관리 + 서버관리</h3>

  <p id='demo'></demo>

</div>


<script>

window.onscroll = function() {homzzang()};


var navbar = document.getElementById("navbar");

var sticky = navbar.offsetTop;


function homzzang() {

  if (window.pageYOffset >= sticky) {

    navbar.classList.add("sticky")

  } else {

    navbar.classList.remove("sticky");

  }

}

  

 var text = "";

 var i;

 for (i = 1; i <= 30; i++) {

    text += i + ". 홈짱닷컴에 놀러오세요<br>";

    document.getElementById("demo").innerHTML = text;

 }

</script>


</body>

</html>


결과보기

관련글: BS affix , http://stickyjs.com/

 

element+element 예제 - 인접선택자(+) 중접 적용

 

<style>

div+p {color:red;}

div+p+p {color:blue;}

div+p+p+p {color:green;}

</style>

 

<div>홈짱닷컴 Homzzang.com</div>

<p>홈짱닷컴 Homzzang.com</p>

<p>홈짱닷컴 Homzzang.com</p>

<p>홈짱닷컴 Homzzang.com</p>

<p>홈짱닷컴 Homzzang.com</p>

 

결과보기

 

element+element 예제 - 지정요소 바로 앞의 형제요소 선택

(예) .hz 클래스 갖는 요소 바로 앞의 형제요소 선택.

<style>

:has(+ .hz) {color: red;}

.hz {color:green;}

.hz+div {color:blue;}

</style>

 

<div>홈짱닷컴</div>

<div class="hz">Homzzang.com</div>

<div>홈페이지 제작관리</div>

 

결과보기 



분류 제목
background CSS - background-repeat 속성 ★ - 배경이미지 반복 (= 배경반복 = background…
background CSS - background-attachment 속성 - 배경이미지 고정 (= background-atta…
background CSS - background-position 속성 = 배경위치 (= background-position속성…
border CSS - border 속성 ★ - 테두리일괄 (= border속성 = 보더속성) (상속X)
border CSS - border-style 속성 ★ - 테두리모양일괄 (= border-style속성 = 보더스타일속…
border CSS - border-width 속성 - 테두리두께일괄 (= 테두리너비일괄 = border-width속성 …
border CSS - border-color 속성 - 테두리색상일괄 (= 테두리색깔일괄 = border-color속성 …
border CSS - border-top 속성 - 테두리상단일괄 (= border-top속성 = 보더탑속성 / 보더톱속…
border CSS - border-right 속성 - 테두리우측일괄 (= 테두리오른쪽일괄 = border-right속성…
border CSS - border-bottom 속성 - 테두리하단일괄 (= border-bottom속성 = 보더바텀속성…
border CSS - border-left 속성 - 테두리좌측일괄 (= 테두리왼쪽일괄 = border-left속성 = …
border CSS - border-top-style 속성 - 테두리상단모양 (= 테두리상단스타일 = border-top…
border CSS - border-top-width 속성 - 테두리상단두께 (= 테두리상단너비 = border-top-…
border CSS - border-top-color 속성 - 테두리상단색상 (= 테두리상단색깔 = border-top-…
border CSS - border-right-style 속성 - 테두리우측모양 (= border-right-style속…
border CSS - border-right-width 속성 - 테두리우측두께 (= 테두리우측너비 = 테두리오른쪽너비 …
border CSS - border-right-color 속성 - 테두리우측색상 (= 테두리오른쪽색상 = 테두리우측색깔…
border CSS - border-bottom-style 속성 - 테두리하단스타일 (= 보더바텀스타일) (상속 X)
border CSS - border-bottom-width 속성 - 테두리하단너비 (= 테두리하단두께 = border-b…
border CSS - border-bottom-color 속성 - 테두리하단색깔 (= 보더바텀컬러속성 = border-…
3/25
목록
찾아주셔서 감사합니다. Since 2012