오늘 정리 할 내용은 CSS !
html을 하고 css까지 왔다.
강의시간동안 내 집중력은 아직 부족하다. 후반으로 갈 수록 동공이 흔들리고 머리가 가벼워지려한다.
그래도 나름 복습을 하고 정리를 하는데에는 익숙해져간다.
걱정도 많지만 재미도 있다. 근데 한 번에 못따라하면 괜히 쪼들린다.
벨로그는 뭔가..아직도 낯설기는 하다.
개인적으로 노션을 아주 잘 사용하고 있는데 노션 복붙이 잘 되는 듯 하면서 안되는 듯해서 쪼끔 불편하다.
🗒
/* 여기에 내용 */ 이러한 형태로 사용한다.💡 <body>태그는 <head>태그가 읽히지 않으면 안읽힌다. 그래서 <body> 전에 <style>태그를 입력해주어야한다. 또한 <head>에 많은 내용이 적혀있으면 웹사이트의 로딩이 길어진다.
css는 총 3가지 방식으로 작성된다.
<head> </head>사이에 적어준다.<style>태그를 만들어서 스타일을 지정하는 문법을 한 곳으로 빼준다.<link>태그 로 불러온다. 아래 형식! <link rel="stylesheet" href="./css/css_1.css">rel속성은 relationship의 약자이다. html과 연결된 파일이 어떤 관계인지를 나타내는 것! rel이 이상하게 기억에 안남아서 찾아보았다. (추가로 href 는 hyper reference의 약자로 '하이퍼 참조'를 의미한다.!important; 를 입력해주면 우선수위 상관없이 무조건 1순위가 된다.p { color: red; padding: 5px;}
p 가 선택자이다.color 와 padding 이 속성이다. 속성과 속성값은 { } 안에 입력해준다.세미콜론(;)으로 구분한다.1️⃣ CSS의 선택자 - 단일 선택자
* {속성: 속성값;}div {속성: 속성값;} 이렇게 하면 <div>태그 가 사용된 곳에스타일을 적용하겠다는 것.특정한 클래스에 스타일을 적용하겠다. .classname {속성: 속성값;} 의 형태이다.
클래스이름 앞에 .을 붙여준다. html파일에서 class를 지정하는 것도 잊지말자.
<!--html파일에선 이렇게 하고-->
<p class="orange">클래스 선택자</p>
/*css파일에선 이렇게 작성해준다.*/
.orane {
color: orange;
}
class는 여러개 지정 할 수도 있다.
<p class="orange bg-red">p.orange hello</p>
.orange 와 .bg-red . 이렇게 2개의 class를 지정 할 수 있다. css에서도 적용 가능!
특정한 id를 가진 곳에 스타일을 적용하겠다. #id {속성: 속성값;} 의 형태이다.
id 속성값 앞에 # 을 붙여준다.
<!--html파일에선 이렇게 하고-->
<p id="first">아이디 선택자</p>
/*css파일에선 이렇게 작성해준다.*/
#first {
color: orange;
}
💡 <p>, <div>와 같이 기본적인 태그에 스타일적용은 좋지 않다. 자주 사용되기 때문에 중복될 수 있고 헷갈릴 수 있다. 그러니 특정시킬 수 있는 id 나 class를 지정하고 선택자를 사용하는 것이 좋다!
2️⃣ CSS의 선택자 - 복합 선택자 (기본 선택자만으로 선택이 불가능 할 때 사용)
div .orange {속성: 속성값;} 의 형태이다.<div> 태그 안에 있으면서, class 속성값이 orange인 곳에 스타일을 적용하겠다. (<div> 태그 밖에 class=orange 있더라도 적용 안된다.)<div>
<ul>
<li>사과</li>
<li>딸기</li>
<li class="orange">div안에 있는 오렌지</li>
</ul>
<div>당근</div>
<p>토마토</p>
<span class="orange">div 안에 있는 오렌지2</span>
</div>
<span class="orange"> 그냥 span태그 오렌지</span>
<div>
<p id="apple">아이디가 애플</p>
</div>
div .orange {
color: red;
}
div #apple {
background-color: red;
}
특정 선택자 기준으로 자식 요소를 선택하겠다.
ul > .orange {속성: 속성값;} 의 형태이다.
ul 태그의 자식요소인, class="orange"인 곳에 스타일을 적용하겠다.
💡 ‘하위선택자’는 하위에 있다는 전부 스타일을 적용시킨다. ‘자식선택자’는 자식요소만 선택해서 스타일을 적용시킨다!
h1 + p {속성: 속성값;} 과 같은 형태이다. <h1>바로 뒤에 있는 <p>에 스타일을 적용하겠다.h1 ~ ul {속성: 속성값;} 과 같은 형태이다. <h1>바로 뒤에 있는 <ul>에 전체에 스타일을 적용하겠다.<ul>이 있다면 전부 스타일이 적용될까? 동일한 형제선상에 있다면 전체에 적용이 된다! 하지만 예를 들어 <div>태그 안에 <ul>이 들어가 있다면 해당 부분은 적용이 되지 않는다. 동일한 선상이 아니기 때문. 상위에 있는 <div>태그를 풀어주면 적용이 된다.3️⃣ CSS의 선택자 - 가상 클래스 선택자
a:hover {속성: 속성값;} 의 형태이다. <a>에 hover 스타일을 적용하겠다.p:hover {속성: 속성값;} 의 형태이다. <p>에 active 스타일을 적용하겠다.input:focus {속성: 속성값:}의 형태이다. 여러가지 <input>태그가있을 때 해당 태그에 포커스가 되었을 때 스타일을 적용시켜준다.a:visited {속성: 속성값:}의 형태이다..fruits span:first-child {속성: 속성값;} 의 형태이다.class="fruits"에서 first-child(첫번째 하위요소)가 <span> 이라면 스타일을 적용하겠다는 의미이다..fruits h3:last-child {속성: 속성값;} 의 형태이다.class="fruits"에서 last-child(마지막 하위요소)가 <h3> 이라면 스타일을 적용하겠다는 의미이다..zoo *:nth-child(2) {속성: 속성값;} 의 형태이다. class=”zoo”에서 *(전체)중에 (2)번째인 요소에 스타일을 적용하겠다는 의미.child(2)는 두번째 마다 선택. 짝수단위로 보면 된다.child(2n+1)는 첫번째 요소부터 2번째마다 선택. 홀수단위로 보면 된다..zoo *:not(span) {속성: 속성값;} 의 형태이다. class=”zoo”에서 *(전체)중에 (span)이 아닌 요소에 스타일을 적용하겠다는 의미.4️⃣ CSS 선택자 – 가상 요소 선택자
content라는 속성을 사용해야 하며, 빈 값(””)이라도 넣어줘야 적용이 된다..zoo::before {content: “앞”;} 의 형태이다. 기존 내용 앞에 “앞”이라는 문구가 추가되어서 보여진다..zoo::after {content: “뒤”;} 의 형태이다. 기존 내용 뒤에 “뒤”이라는 문구가 추가되어서 보여진다.5️⃣ CSS 선택자 – 속성 선택자 (특정한 속성을 가진 태그를 선택)
[속성][속성] {속성: 속성값;} 의 형태이다.[속성=”속성값”]특정한 속성과 속성의 값을 지정해서 스타일을 적용하겠다.
[속성="속성값"] {속성: 속성값;} 의 형태이다.
아래와 같이 쓸 수 있다. <input> 인데 type=”text” 인 속성을 가지고 있는 곳에 스타일을 적용하겠다는 의미이다.
input[type=text] {
background-color: aquamarine;
}

1️⃣ box-sizing 속성
💡 개발 초기 단계에서 속성 값을 정하고 가야 한다! 누구는 content-box, 누구는 border-box로 하면 꼬인다.
20px 한 번 적으면 상하좌우 모두 동일하게 20px.20px 20px 두번 적으면 상하20px, 좌우20px.20px 40px 20px 40px 네번 적으면 위-오른쪽-아래-왼쪽의 사이즈를 지정한다.(시계방향)💬
✏️
아직까지 내 집중력이 모자란다. 이것도 적응이 되면 될 것 같기는 하다. 근데 이제 앞으로는 더 어려운 내용들을 배우고 익혀야할텐데 그때까지 내 집중력이 올라오길 바란다. ㅠ