2023.11.29

2023. 11. 29. 09:401단계) 쌩초보 코딩 HTML,CSS

192p 가상선택자 (예제파일 챕터11)

1) 동적가상클래스

2)구조적 가상클래스

 

 

1) 동적 가상 클래스 

ㄱ. active : 클릭시 어떤 기능들이 활성화되는 가상 클래스    -----------------예제파일 1

<!DOCTYPE html>
<html lang="en">
<head>
    <title>가상선택자</title>
</head>
<style>
    button:active{
        color: lime;
    }
</style>
<body>
    <button>클릭</button>
</body>
</html>

button:active 사용시

클릭하기 전

 

클릭후 색 활성화

 

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <title>가상선택자</title>
</head>
<style>
    button:active{
        color: lime;
    }
    button {
        color: blue;
    }
</style>
<body>
    <button>클릭</button>
</body>
</html>

 

 

기본값 파랑으로 설정됨

 

 

body 에 추가로 

 <A href="#">클릭</A>

그리고 위에 style에 (항상 a:style 등 붙여서 적어야한다)


    a:active {
        color: black;
    }

입력시

링크는 #(없음)으로 했기 때문에, 클릭해도 이동은 안된다.

 

클릭시 black 으로 변환됨 

 

 

body 에 추가

 <p>클릭</p>
p:active {
        color: red;
    }

style 추가 시

 

클릭전
클릭후

 

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <title>가상선택자</title>
</head>
<style>
    button:active{
        color: lime;
    }
    button {
        color: blue;
    }

    a:active {
        color: black;
    }

    p:active {
        color: red;
    }
</style>
<body>
    <button>클릭</button>
    <A href="#">클릭</A>
    <p>클릭</p>
</body>
</html>

 

 

 

ㄴ. visited ★

이미 방문한 링크표시 (ex 링크 누르면 보라색으로 표시되는거) ---- A 태그한테만 사용가능하다. 

특정 선택자에 설정한 active 위에 적는다. 맨 아래 적으니 활성화 되지 않는다.

일반적으로 보통 보라색을 설정한다. 색은 거의 변경하지 않는다.

 

이미 과거에 접속했다는 의미임 -----클릭전

 

클릭 시 검은색으로 됨------클릭 후

 

 

검색 후 특정페이지를 들어갔다 나오면 클릭한 페이지의 텍스트 색깔이 변한다. 왜냐하면 링크를 클릭하거나 방문시 visited로 표시되기 때문이다.

index active,visited.html
0.00MB

 

 

 

ㄷ. disabled

비활성화된 요소를 나타냄 = 클릭할 수 있는걸 못하게 막음

 

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<style>
    input:disabled {
        background-color: coral;
    }
</style>
<body>
    <input type="text" disabled>
    <input type="text">
</body>
</html>

 

disabled 적용된 컬러는 coral, 미적용된 컬러는 색상 없음

 

잘 안쓰는 기능이라고 하는데, 알아두자!

input, button 에만 쓸 수 있다.

 

ㄹ. hover  -----------★

마우스 올릴 때 디자인이나, 상호작용하게 함

<!DOCTYPE html>
<html lang="en">
<head>
    
    <title>hover 연습</title>
</head>
<style>
    span:hover {
        background-color: greenyellow;
    }
</style>
<body>
 <span> hover 많이 사용. 마우스 올릴 때 디자인 바뀌거나 상호작용하게 함</span>
    
</body>
</html>

 

마우스 올리기 전

 

마우스 올리고 배경색이 활성화 됨

 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <title>다른 디자인도 넣어보는 hover 연습2 </title>
    <link rel="stylesheet" href="hover 연습2.html">
</head>
<body>
    <!-- 여태까지 태그로 style 지정했는데, 태그로만 설정하면
    같은 종류의 모든 태그가 같은 style 로 되기 때문에,
    특정한 태그에 단 한개만 적용하기 위해 class를 사용함-->
    <h1 class="title">제목</h1>
</body>
</html>

만든다

.title:hover {
    color: lightblue;
}

 

 

클릭후

색상범위는

margin 부분은 색깔 설정 안되고, 저기 파란색 범위이다.

 

.title:hover {
    color: lightblue;
    font-size: 2.5em;
    border-bottom: 3px solid darkslateblue;
}

 

클릭전

 

 

body 안에

 <div class="box">
        <p class="word">박스 안에 있습니다</p>
    </div>

 

/*부모자식 관계일때는 부모부터 적는다.*/
/*디자인 되는 태그는 가장 마지막에 적은 태그이다.
ex) word에 디자인이 들어간다.*/
.box .word {
    color: blueviolet;

}

 

마우스 올리기전, 기존에 설정된 컬러가 되어있다

 

 

 

마우스 올리면 bold

 

.box .word:hover {
    font-weight: bold;
    background-color: thistle;
}

 

 

 

 

 

 

hover 연습2.html
0.00MB
연습2.css
0.00MB
hover 연습.html
0.00MB
index active,visited.html
0.00MB
연습 disabled.html
0.00MB

 

 

 

작성순서

1마우스 올리지 않았을때의 디자인

2마우스 올릴때의 디자인 

 

<!DOCTYPE html>
<html lang="en">
<head>
    <title>다른 디자인도 넣어보는 hover 연습2 </title>
    <link rel="stylesheet" href="연습2.css">
</head>
<body>
    <!-- 여태까지 태그로 style 지정했는데, 태그로만 설정하면
    같은 종류의 모든 태그가 같은 style 로 되기 때문에,
    특정한 태그에 단 한개만 적용하기 위해 class를 사용함-->
    <h1 class="title">제목</h1>
    <div class="box">
        <p class="word">박스 안에 있습니다</p>
    </div>
</body>
</html>

 

.title:hover {
    color: lightblue;
    font-size: 2.5em;
    border-bottom: 3px solid darkslateblue;
}

/*부모자식 관계일때는 부모부터 적는다.*/
/*디자인 되는 태그는 가장 마지막에 적은 태그이다.
ex) word에 디자인이 들어간다.*/
.box .word {
    color: blueviolet;

}

.box .word:hover {
    font-weight: bold;
    background-color: thistle;
}

 

 

197p 

focus  ----------- 챕터11 파일 5

클릭시 글자와 배경색을 매우 강조함. 낮은 시력을 가진 사람이 쓰기에 유용하지만, 일반적으로 잘 사용하지 않음.

 

<style>
  .red-input:focus {
    background: springgreen;
    color: red;
  }
  .blue-input:focus {
    background: springgreen;
    color: blue;
  }
</style>

<body>
  <input class="red-input" value="클릭하면 빨갛게 됩니다." />
  <input class="blue-input" value="클릭하면 파랗게 됩니다." />
</body>

 

 

 

 

2) 구조적 가상 클래스

챕터11 폴더6

선택자를 사용하지 않고, 요소를 선택가능. (why? 코드를 효율적으로 활용하기 위해)

first-child : div의 첫번째 자식 만 선택해서 활성화.

p태그가 자식일때, 그중 첫번째 자식에게만 활성화.

 

결과

 

 

 

 

last-child

설정할 p태그중 마지막 자식에게 효과를 활성화.

즉, 마지막 자식에게 활성화한다고 생각하면됨.

 

결과

 

nth-of-type

th(fourth 등 몇번째 의미할때 끝부분 th) +n ( number 숫자.) + of (~의)

-> 선택한 태그가 몇번째에 있는지 찾아서 디자인 넣어줌.

ex) p:nth-of-type(2) 

선택된 p태그중에서 2번째있는 태그에 효과 및 활성화 디자인 넣어줌

 

 

<style>
  /* 홀수 문단 */
  p:nth-of-type(2n + 1) {  /*모든홀수문단(2n+1)에 들어갈 스타일 
                          if)특정구간은 단일 숫자로 표현*/
    color: red;
  }
  /* 짝수 문단 */
  p:nth-of-type(2n) {   /* 모든짝수문단(2n)에 들어갈 스타일,*/
    color: blue;
  }
  /* 첫 번째 문단 */ 
  p:nth-of-type(1) {    /* 첫번째 태그에 적용될 스타일*/
    font-style: italic;
  }
</style>

<body>
  <div>
    <div>여기는 카운트 세는 곳 아님!</div>
    <p>첫 번째 p 태그</p>
    <p>두 번째 p 태그</p>
    <div>여기는 카운트 세는 곳 아님!</div>
    <p>세 번째 p 태그</p>
  </div>
</body>

 

 

 

span

span 안에 div 태그는 3개, p태그는 1개 ,i 태그는 1개 있다.

span은 태그가 only 1개 만 있는 곳만 디자인을 입혀준다.

 

<style>
  span :only-of-type {
    color: red;
  }
</style>

<body>
  <span>
    <div>난 div 태그의 첫 번째야</div>
    <p>난 유일한 p 태그야</p>
    <div>난 div 태그의 두 번째야</div>
    <div>
      난 div 태그의 세 번째야
      <i>난 유일한 i 태그야</i>
      <em>난 em 태그의 첫 번째야</em>
      <em>난 em 태그의 두 번째야</em>
    </div>
  </span>
</body>

 

 

 

205p skip

 

 

hover 연습

 

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="연습3.css">
</head>
<body>
    <div class="next-box">
        <a href="" class="next"> 다음페이지</a>
    </div>
</body>
</html>

 

/* .next-box .next 에 :hover 추가해서 
마우스를 올렸을 때 background-color를 파란색으로 바뀌게 해줍시다. */

.next-box .next:hover {
    background-color: blue;
}

 

hover 연습3.html
0.00MB
연습3.css
0.00MB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'1단계) 쌩초보 코딩 HTML,CSS' 카테고리의 다른 글

11.29 가상 선택자 정리  (0) 2023.11.29
2023.11.27~28 총정리  (0) 2023.11.28
2023.11.28  (2) 2023.11.28
2023.11.27 복습 및 제작  (0) 2023.11.27
보충학습 input 속성들 설명  (3) 2023.11.26