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

[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>

 

결과보기 



분류 제목
position CSS - clear 속성 ★ - float 해제후 줄바꿈 (= 클리어속성, clear속성, 상속 X)
position CSS - display 속성 ★★★★★ - 요소유형지정 (= 요소성격변 = 요소노출방식 = display속…
position CSS - position 속성 ★★★ - 위치기준대상지정 (= 위치속성 = 포지션속성 = 위치조정 = po…
position CSS - top 속성 ★ - 기준상단 (= 위기준 상단거리 = top속성 = 탑속성/톱속성)
position CSS - right 속성 ★ - 오른쪽기준(= 우측기준) 위치 지정 (= right속성 = 라이트속성) ※…
position CSS - bottom 속성 ★ - 기준하단 (= bottom속성 = 하단기준 = 아래기준 = 바텀속성 = …
position CSS - left 속성 ★ - 왼쪽기준 (= left속성 = 좌측기준 = 레프트속성, 상속 X)
position CSS - z-index 속성 ★ - 요소층수지정 (= 요소상하지정 = 요소상하결정 = 위아래지정 = z-…
position CSS - visibility 속성 ★ - 보임설정 (= 노출설정 = visibility속성 = 비저빌러티속…
position CSS - overflow 속성 ★★ - 범위이탈요소처리 (= 범위넘는요소처리 = 스크롤바 생성 = over…
position CSS - clip 속성 (폐기예고) - 이미지 자르기 (= 일부만 노출 = clip속성 = 클립속성)
css CSS - cursor 속성 - 커서 모양 (= cursor속성 = 커서속성)
intro CSS - !important 키워드 - 당해 속성값 강제 우선적용 (= 우선순위표시 = 느낌표임포턴트)
css CSS - opacity 속성 - 불투명도 (= opacity속성 = 오패서티속성/오페서티속성) ※ 있는데 …
table CSS - border-collapse 속성★ - 테두리겹침설정 (= 테두리중첩설정 = 테두리이중방지 = b…
table CSS - border-spacing 속성 - 테이블셀 테두리간격 (= border-spacing속성 = 보…
table CSS - caption-side 속성 - 테이블표제위치 (= caption-side속성 = 캡션사이드속성)
css CSS - 글자자르기 (= 문자열자르기 = 문자열줄이기= 글자길이자르기 = 문자열자르기 = 글자수자르기 = …
css CSS - zoom 속성 - 요소 확대 (= zoom속성 = 줌속성) ※ IE 하위 브라우저(예: IE6, …
intro CSS - CSS3 입문
6/25
목록
찾아주셔서 감사합니다. Since 2012