졸려...
-html을 꾸며주기(html태그에 디자인 입히기)
-태그 style속성을 직접 입력할 수 있다.
<h1 style = "color:red;">Frontend 101</h1>
-빠르고 편하다는 장점이 있지만 스타일이 많아진다면 코드 가독성이 떨어진다.
-또한 html태그와 style코드가 혼재되어있어 유지보수에도 좋지 않다.
-html파일 안에서 css를 작성할 수 있는 방법이다.
-인라인 스타일과 마찬가지로 유지보수에 적합하지 않다.
<style>
h2 {
color: #408090;
}
</style>
거의 이 방법을 사용한다.. 사실 이 방법밖에 몰랐다..후후
-html 파일과 분리하여 사용하는 방법
-따라서 html파일과 연결시켜줘야한다
<link href = "index.css" rel = "stylesheet" type = "text/css"/>
1. link - link태그로 사용할 css파일을 링크해준다.
2. href - css파일이름을 적는다.
3. rel - html과 css의 관계를 설명하는 속성이다. 항상 stylesheet
4. type - link태그로 연결되는 파일이 어떤 것인지 알려준다. 항상 text/css
1. p - selector(선택자)로 여로 종류가 올 수 있다.(태크이름,class, id이름)
2. color - property
3. red - 속성 값
p {
font-size: 12px;
}
.class이름{
}
#profile{
}
.left {
text-align: left;
}
.center {
text-align: center;
}
.right {
text-align: right;
}
-기본정렬은 외쪽정렬
-css로 들여쓰기 하기
-html내에서는 스페이스와 엔터를 추가해도 실제 화면에는 적용되지않는다.
.js-description {
text-indent: 50px;
}
: 스페이스를 의미하는 코드
바깥쪽부터
p.example {
width: 273px;
height: 90px;
margin: 50px;
border: 5px solid black;
padding: 50px;
}
테두리 바깥의 여백
풀어쓰면
p.example {
margin-top: 50px;
margin-right: 50px;
margin-bottom: 50px;
margin-left: 50px;
}
작성방법은 margin과 같음
테두리!!
p {
border: 5px solid red;
}
span {
border: 1px dotted #0000ff;
}
border: 두께 선스타일 선색깔;
:boder-width는 border-style과 같이 쓰지 않으면 적용되지 않는다.
:테두리 모서리를 둥글게 표현
값은 길이를 나타내는 단위(px,em 등),%를 사용한다.
-상속은 css가 가진 특성
-스타일이 상속되어 자식에게도 같은 스타일이 적용된다는 의미
body {
color: red;
font-size: 14px;
}의 경우
p태그는 아무 스타일도 갖고있지 않는데 부모인 body의 영향을 받아서 빨간색과 14px로 변경된다.
하지만 본인의 요소가 해당속성을 갖게되면 본인의 스타일이 적용된다.
p {
color:black;
}
여러 태그, 클래스에 같은 스타일을 적용하고 싶을 때
콤마를 이용한다.
.what-is-blockquote, span {
color: green;
}
class나 id가 selector일 때 태그와 결합할 수 있다.
p.p-tag { #p태그이면서 p-tag클래스
color: gray;
}
p#third-line { #p태그이면서 third-line아이디
text-decoration: underline;
}
selector끼리 스페이스로 띄어져있어야 한다!!
.a div .b .pre span {
background-color: yellow;
}
<img>
태그로 이미지 넣기`
<div class="bg-img">배경이미지</div>
background-image: url("https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/1280px-HTML5_logo_and_wordmark.svg.png");
}
<header>, <footer>, <p>, <li>, <table>, <div>, <h1>
)<span>, <a>, <img>
.inline-p {
display: inline-block;
}
.float-left {
float: left;
}
.float-right {
float: right;
}
script와 같은 일부 특별한 엘리먼트에서는 none을 기본값으로 사용한다.
엘리먼트를 감추는데 사용된다.
visibility와의 차이
display:none;
은 엘리먼트가 마치 존재하지 않는 것처럼 페이지가 렌더링 되지만visibility:hidden;
으로 설정하면 엘리먼트가 감춰지긴하지만 여전히 공간을 차지한다.
block요소일 때 width 값을 주면 더이상 늘어나지 않는다.
이 때 margin에 auto를 설정하면 가로 중앙으로 오게 할 수 있다.
list안에 해당 태그가 몇번째 순서인지(홀/짝) 알 수 있는 selector 표기법이있다.
tagm.class,#id 모두 가능하다.
li:last-child {
padding-bottom: 0;
}
테이블을 표현하기 위한 태그들:<table>, <thead>, <tbody>, <tr>, <th>, <td>
<table>
<tr>
<td>Row 1, column 1</td> #td는 table data
<td>Row 1, column 2</td>
</tr>
<tr>
<td>Row 2, column 1</td>
<td>Row 2, column 2</td>
</tr>
</table>
이렇게 실행하면 위의 사진처럼 선은 보이지 않는다.
css를 통해 추가해줘야한다.
rowspan은 행 병합, colspan은 열 병합
<td rowspan="2">
html 코드가 어디에 위치하든 원하는 위치에 놓을 수 있다.
위치를 이동시켜주는 top,right,bottom,left 프로퍼티가 있어야 원래의 위치에서 움직일 수 있다.
.relative {
position: relative;
}
.top-20 {
top: -20px;
left: 30px;
}
이름과 같이 절대적인 위치에 둘 수 있다.
특정 부모에 대해 절대적으로 움직인다.
absolute를 쓸 경우, 절대적으로 움직이고 싶은 부모에게 position:relative;를 부여한다.
p {
margin: 0;
background-color: yellow;
}
.absolute {
position: absolute;
}
.right-0 {
right: 0;
bottom: 0;
}
말그대로 고정
스크롤 내려도 고정
float은 주로 이미지 주변에 텍스트를 감싸기 위해 만들어진 프로퍼티이다.
img {
float: right;
margin: 0 0 1em 1em;
}
귀엽네...ㅋ
float 속성: left,right, none
img {
float: right;
}
위의 그림은 div에 맞지 않는다.
해결방법 :
.clearfix {
overflow: auto;
}
짜잔... 깔끔...
전자기기가 다양해짐에 따라 디스플레이의 크기에 맞게 유동적으로 반응하는 반응형 웹.
:responsive web을 구현하는 css technique
특정 조건에서 어떤 css를 적용하라나느 규칙을 준다
문법 = @media
@media only screen and (max-width: 480px) {
body {
font-size: 12px;
}
}
80px보다 작은 화면에서 body 태그 내의 font 크기를 전부 12px로 바꾸는 css
width,height 프로퍼티의 대상 영역을 변경할 수 있다.
box-sizing 프로퍼티는 상속되지 않는다. 따라서 box-sizing 프로퍼티를 사용하도록 초기화하려면 아래와 같이 정의한다.
html {
box-sizing:border-box;
}
, :before,*:after {
box-sizing: inherit;
}