본문 바로가기
CSS

23.02.09(head, .css, 선택자(태그/id/class), (블록/인라인)레벨, em, display, margin-padding)

by 2023코딩시작 2023. 2. 9.

😀

😀

 

CSS

 

<!-- 
CSS(Cascading Style Sheet)
- HTML이 웹 페이지의 "뼈대"라고 한다면, CSS는 "살"이라고 할 수 있다.
- 즉, HTML이 웹 페이지의 정보를 나타낸다면, CSS는 HTML을 좀 더 보기 좋게 디자인하는 역할이다.
 -->

<h3>CSS 특징</h3>

<ol>
<li>Cascading style Sheet</li>
<li>HTML 문서에 스타일(디자인)을 적용하는 언어</li>
<li>CSS 사용 방법 : 인라인 방식(태그에 직접 적용), head영역, 외부 파일(.css)</li>

</ol>

<ul>
<li>CSS 형식 : 선택자{속성: 값;}</li>
<LI>선택자 : BODY 태그에서 선언한 태그</LI>
<li>하위 태그 지정 : 상위태그 하위태그{속성: 값}</li>
</ul>

 

 

😀head영역 

</title>
<style type="text/css">

    span{
        font-size:
        font-wieght:
        color:
    }
</style>
</head>

 

😀외부파일

파일확장자가 css인 파일을 만들어서 거기에

span {} 적용

<link rel="stylesheet" href="css/style.css">

 


- link : 현재 문서와 외부 리소스(*.css) 파일과의 관계를 명시하는 선언
- rel="stylesheet" :  태그로 연결하는 파일이 외부에 있는 스타일시트 파일이라는 뜻을 가지고 있음
- href : 이 속성은 링크된 리소스의 url 경로를 참조함

외부에 스타일시트 파일을 선언하고 사용하는 이유.
==> 대부분의 HTML 파일에 동일하게 스타일을 적용할 수 있다는 장점이 있음
 -->

 

😀

ul li          /* 자식을 포함한 자손 */

ul > li      /*  > 는 자식의 의미 */

<style type="text/css">
	
    body {
    	background-image: url(images/img.jpg);
        background-color: gray;
        background-reapeat: no-repeat;
        background-positon: center;
        size: cover;
    }
    
    ul li {
    	color: lightgray;
    }
    
    ul>li {
    	color: green;
    }

</style>

<body>
	<p>호랑이</p>
    	
    <ul>
    	<li>가위</li>
        <li>바위</li>
        <li>보
        	<ol>
            	<li>1번</li>
                <li>2번</li>
            </ol>
        <li>
    </ul>
</body>

 

/* 그룹 선택자 */
h2, h3, h4 {
color: tomato; /* 색상은 rgb색상표에서 바로 적용 가능 */
}

 

😀nth : n 번째 (th)

:nth-of-type(들어갈 수 있는 숫자들 : 1, 2, 2n, 2n+1 등등 )

:nth-of-type(first-child)

:nth-of-type(last-child)

:nth-of-type(odd)

:nth-of-type(even)

/* 순서 선택자 : nth-of-type() */
ul li:nth-of-type(1) {
color: #FF8000;
}

 

😀선택자가 없는경우

<style type="text/css">

	input[type="text] {
    	border: 1px solid blue;
    }
    
    input[type="password" {
    	border: 1px solid red;
    }

</style>
</head>
<body>
<form>
	<input type="text> <br>
    <input type="password">
</form>

 

 

😀태그에 커서가 올라갔을 때

<style type="text/css">
h1:hover {
	color: red;
}

 

<!-- 
★★★★★★★★★★★★★★★
선택자의 종류
* 태그 선택자 : 특정 태그를 사용한 요소에 스타일 적용
* id 선택자
  - 특정 부분에 스타일 적용
  - 웹 문서에서 고유한 식별자를 정의할 때 사용
  - 대체적으로 큰 골격의 이름에 사용하는 것이 좋음
  - 같은 id 이름을 중복해서 사용하지 못함.
  하나의 요소에 여러개의 id를 동시에 사용하지 못함.
  - 대체적으로 상단의 헤더, 왼쪽 메뉴, 가운데 컨텐츠 영역, 
   하단 footer 영역에 사용이 됨
예) id="title" ==> #title

* class 선택자
  - 특정 부분에 스타일 적용
  - 같은 클래스의 이름을 여러 요소에서 중복해서 사용할 수 있음
  - 가장 많이 사용되는 선택자
   예) class="main_text" ==> .main_text
 -->

 

😀id선택자 / class 선택자

id는 #으로 / class는 . 으로 받는다

<style type="text/css">

	#title {
        color: blue;
	}

	.main_text {
        font-weight: bold;
        font-size: 20px;
        color: red;
	}

</head>
<body>
<h1 id="title"> 제목</h1>

<p class="main_text"> 본문</p>

 

<!-- 
1. 블록레벨 요소
- 주요 요소 : hn, p, div
- 사용 가능한 최대 가로 너비로 사용한다
- width: 100%, height: 0%로 시작 ==> default값
- 크기를 지정할 수 있음
- 수직으로 쌓임
- margin, padding의 속성에
    상단, 하단, 왼쪽, 오른쪽 사용이 가능함. 
- 주로 레이아웃을 설정하는 용도로 사용이 됨.

2. 인라인레벨 요소
- 주요 요소 : sapn, img
- 필요한 만큼의 너비를 사용한다
- width: 0%, height: 0%로 시작 
- 크기를 지정할 수 없음
- 수평으로 쌓임
- margin, padding의 속성에
    상단, 하단, 왼쪽, 오른쪽 사용이 불가능함.
- 주로 텍스트를 설정하는 용도로 사용이 됨
 -->

 

<!-- 
em 단위
- em은 사용하는 글꼴의 대문자 M을 기준으로 함
- 부모요소에서 지정한 폰트의 대문자 M을 1em이라는 
     기준으로 설정해 놓고, 상대적 값을 계산하여 다른 
     요소들의 글자 크기를 지정함
- 만약 지정한 크기가 없다면 <body> 태그의 기본 글자
     크기인 16px이 1em의 기준이 됨
 -->
<Style type="text/css">
    h1 {
        font-size: 3em;
    }

    p {
        font-size: 0.8em;
    }

<body>
    <h1> 3em크기의 제목</h1>
    <p> 0.8em 크기의 p태그</p>

 

list-style-type: none; /* ul의 점 제거하는 속성 */

 

text-decoration: none; /* a태그 글자 밑에 있는 밑줄을 제거하는 속성 */

display: inline-block; /* 인라인레벨요소로 바꾸주는 속성 */

<!-- 
display 속성
- 웹 페이지 상에서 요소들이 어떻게 보여지고 다른 요소와
     어떻게 상호 배치되는지를 결정하는 속성임
* inline : display 속성이 inline으로 지정된 요소는
       전후 줄바꿈 없이 한줄에 다른 요소들과 나란히 배치가 됨.
        예) span태그, img태그
       
* block : display 속성이 block으로 지정된 요소는 
     전후 줄바꿈이 들어가 다른 요소들을 다른 줄로 밀어내고
     혼자 한 줄을 차지함.
     예) hn태그, p태그, div태그, li태그 등
     
* inline-block : display 속성이 inline-block으로 지정된 요소는 
  기본적으로 inline요소처럼 전 후 줄바꿈없이 
  한 줄에 다른 요소들과 나란히 배치가 됨.
  하지만 inline 요소에서 불가능하던 width와 height 
  속성 및 margin, padding 속성의 상하 간격 지정이 가능해짐
 -->

.block img{
display: block;
}

 

<div class="block">

 

<!-- 
CSS의 여백 
1. margin(요소의 바깥쪽 여백)
   - 요소의 바깥쪽 여백을 지정하는 속성
   - 바깥쪽 여백은 요소와 요소 사이의 여백(거리, 공간)을 생성할 때 사용함
   - 속성에는 상단, 오른쪽, 하단, 왼쪽 다르게 지정할 수 있음
   - 사용법
     margin: 10px 20px 30px 40px
       ==> 상단, 오른쪽 , 하단, 왼쪽으로 지정 
     margin: 10px 20px 30px 
       ==> 상단, [오른쪽 , 왼쪽], 하단
     margin: 10px 20px 
       ==> [상단, 하단], [오른쪽 , 왼쪽]
     margin: 10px
       ==> [상단, 오른쪽, 하단, 왼족]


2. padding(요소의 안쪽 여백)
   - 요소의 안쪽 여백을 지정하는 속성
   - 단위 : px, em, com 등의 단위로 지정
   - % : 너비로 백분율로 지정 가능
   - 사용법
    padding: 10px 20px 30px 40px
        ==> 상단, 오른쪽 , 하단, 왼쪽으로 지정 
     padding: 10px 20px 30px 
        ==> 상단, [오른쪽 , 왼쪽], 하단
     padding: 10px 20px 
        ==> [상단, 하단], [오른쪽 , 왼쪽]
     padding: 10px
        ==> [상단, 오른쪽, 하단, 왼족]

 -->

padding: 20px; /* 박스사이즈 증가하므로 padding을 줄 때는 조심해야 한다. */

box-sizing: border-box; /* @박스사이즈 원상태로 */

'CSS' 카테고리의 다른 글

23.02.10(글자간격, border, text-shadow, float, a href="#", overflow)  (0) 2023.02.10

댓글