CSS강의
적용시킬 태그{ 속성: 속성값;}
<적용시킬 태그 style="속성: 속성값;">
1~2방법은 속성값 뒤에 ;을 빠뜨리면 안된다. 또 한 위의 두가지 방법은 가독성이 많이 떨어진다는 단점이 있다.
css파일을 따로 제작할 경우, 적용될 html파일의 head태그 안에 아래의 link 태그를 적용시킨다.
<link rel="stylesheet" type="text/css" href="(파일경로)">
※ CSS파일에서의 주석처리 : /* */
<header>
<h1>Hello World</h1>
<p>Nice to Meet You</p>
</header>
<footer>
<h1>footer h1</h1>
<p>footer p</p>
</footer>
→ 여기서 안에 속하는 것을 기준으로, header는 h1와 p의 부모태그, 반대로 h1와 p는 header의 자식태그이다. 같은 위치에 있는 h1태그와 p태그는 형제관계에 있는 태그이다.
① 부모태그의 성질은 자식태그에 함께 적용된다.
: header에 글자색 빨강을 설정하면 자식태그인 h1와 p에도 글자색 빨강이 적용이된다.
② 본인의 성질은 부모의 성질보다 우선된다.
: header에 글자색 빨강을 설정했더라도 h1에 글자색 파랑을 설정하면 h1는 본인의 고유한 성질이 있으므로 빨간색에서 파란색으로 바뀐다.
③ 부모태그의 성질은 모든 자식태그에게 적용되는 것은 아니다.
: 예를 들어 a태그의 경우 태생적으로 파란색과 밑줄의 성질을 가지므로 부모태그에 빨간색 스타일을 적용시켜도 빨간색으로 나오지않고 파란색으로 나온다.
④ 여러 태그에 같은 성질을 부여하고 싶을때는 ,로 묶어 준다.
: ,(콤마)는 and의 성질을 가지므로 여러가지 태그에 같은 성질을 하고싶을 때는 header h1, footer p{}와 같은 방식으로 입력할 수 있다.
① 타입선택자
: html태그를 기준으로 접근하여 스타일을 적용
ex) h1{ color: red;}
② 아이디선택자 (id="")
: html파일에서 태그에 이름을 부여하여 스타일을 적용한다.
이름은 유일한 것이므로 하나의 태그에는 속성값으로 하나의 아이디만 지정해야한다.
ex) #test1{color: blue}
[html파일]
<h2 id="test1">Something</h2>
[css파일]
#test1{color: blue;}
③ 클래스선택자 (class="")
: html파일에서 태그에 별명을 부여하여 스타일을 적용한다.
별명은 이름과 달리 여러가지를 지정할 수 있다.
ex) .test2{color: green;}
[html파일]
<h3 class="test2">Nothing</h3>
[css파일]
#test2{color: green;}
→ ②,③ 두가지 방법은 같은 태그를 여러번 사용했을 경우 그 중에서도 각기 다른 스타일을 적용하고 싶을때 사용자가 내용에 이름이나 별명을 붙혀주어 스타일을 입힐 수 있는 방법이다.
④어트리뷰트선택자
: 속성선택자. type의 형태를 기준으로 서로 다른 스타일을 적용한다.
ex) input[type="text"] { border: solid 10px blue;}
style속성 > id > class > tag 의 순서대로 스타일이 적용된다
디테일하게 작성할 수록 우선순위가 높아진다.
{
width: (픽셀(px) 혹은 퍼센트(%)로 표현) ;
height: ;
min-width: ;
max-width: ;
backgroung-color: ;
border: ( 색상 굵기 형태 - 순서상관없이 적기);
border-radius: px (라운드 적용)
}
① 단어 red, blue 등으로 표현
② 색상코드로 표현 #FFFFFF
③ RGB코드로 표현 rgb(123, 111, 21)
{
font-size: ;
font-style: ;
font-family: ;
}
{
width: 180px;
height: 180px;
background-color: yellowgreen;
background-image: url(icon.png);
background-repeat: no-repeat;
background-position: right bottom;
}
background image는 액자 틀에 사진을 끼워넣는다고 생각하면 된다. 액자가 이미지 사진보다 크면 여백이 생기고, 액자가 이미지지 보다 작으면 이미지가 잘린 일부만 보이게 된다.
네이버 로고와 같이 정보를 가진 이미지는 css환경이 아닌 html에서 img 태그를 활용해야한다. 그 이유는 웹접근성과 관련있는데 img태그는 alt로 그 이미지의 정보를 입력할 수 있지만 백그라운드이미지를 활용하면 이미지에 대한 설명을 담을 수 없기 때문에 시각장애인은 그 이미지에 대한 정보를 알 수 없다. 그러므로 정보성을 띄는 이미지를 삽입할때는 img 태그를 사용해야 한다.
class선택자가 별명이고 별명이기 때문에 여러가지 별명을 붙힐 수 있다는 것은 이해가 되는데, 굳이 하나의 태그에 여러가지 별명을 붙힐 이유가 있을까? 어쨌든 색상을 적용시키면 제일 우선순위로 설정된 하나의 색상만 적용될텐데... 그 부분이 조금 의문스러웠다.
수업을 한번 더 들으면서 오늘 velog를 정리하는데 같은 h2태그가 여러개 있을 경우 id나 class를 적용해서 각각 다르게 스타일을 부여하는 것처럼, 1번 클래스에는 글자색, 2번 클래스에는 배경색, 3번 클래스에는 서체나 폰트스타일등을 설정해서 하나의 태그에 여러가지 클래스 스타일을 적용시키는 경우에 사용될 것으로 예상된다. 내일 한번 더 멘토님께 질문하여 확인해야겠다.
오늘 진도가 한시간 반정도 밖에 안돼서 굉장히 수월하다고 생각했지만, 생각보다 오늘 배운 양도 많고 조금은 복잡한 내용이었던 것같다. 그래도 배움의 즐거움을 느낀게 너무 오랜만이라 재미있게 수업을 듣고 있다. 홈페이지의 프론트엔드에 정말 느리지만 조금씩 가까워지고있는 것 같다.