728x90

HTML CSS가 만나는 법.

HTML 문법 style 속성 

<h1 style="red"></h1>

<style> html문법 .  안쪽은 css 문법

<style>

h2{color:blue}

<style>

선택자

선택자와 선언

li{
color:red;
text-decoration:underline
}

li : selector :선택자
{} : declaration : 선언
; : Decoration seperatior  : 구분자. 

ID 선택자

<li id="select">css<li>

#select{

font-size:100px

}

부모 자식 선택자

<ul id="lecture">

<li>HTML</li>

<li>CSS</li>

<ul>

<li>selector</li>

<li>declaration</li>

</ul>

<li>JavaScript</li>

</ul>

ul li{

color:red

}

바로 밑에 자식만 "> "

#lecture> li{

background-color:powderblue;

}

동시 선택 , "ol,ul"

선택자 팁

http://flukeout.github.io/

체트 씨트 : 컨닝페이퍼 같은거. 

가상 클래스 선택자 : pseudo class selector

  • :link – 방문한 적이 없는 링크
  • :visited – 방문한 적이 있는 링크
  • :hover – 마우스를 롤오버 했을 때
  • :active – 마우스를 클릭했을 때

a:active{

color:green

}

a:hover{

color: yellow

}

-> 클릭해도 hover가 뒤에 있어서 클릭이 적요이안됨

visited 는 보안때문에 일부만사용가능

:fucus{

}

가장뒤에 쓰는게 좋음 

적용순서

상속 : inheritance

<ul id="lecture">

<li>HTML</li>

<li>CSS</li>

<li>JavaScript</li>

</ul>

html{color:red;}

#lecture{color:black}

부모의 색상을 자식이 물려받는게 효율적: 적은 코드로 많은 사용.  

상속되고 상속되지 않는 속성들이 있다. 

주석

/*

*/

캐스케이딩 cascading : CSS  웹브라우저  < 사용자 < 저자  볼수있는 디자인 권리를 준다. >>> 우선순위 참고

CSS : Cascading Style Sheet 캐스케이팅(연속적인) 스타일 시트 

1990년 HTML, 

하나의 테그에 여러 CSS 중첩되었을때.

<ul id="lecture">

<li>HTML</li>

<li id="idsel" class="classel">CSS</li>

<li>JavaScript</li>

</ul>

<style>

li{color:red: !important;}

#idsel{color:blue}

.classel{color:green;}

</style>

ID 선택자  > Class선택자 > 태그선택자  : Cascading 규칙

구체적인것 >  포괄절 :: 적용 우선순위

!important;

무조건 최우선 적용

서체 다루기

크기: font-size

unit 단위  : px  vs em vs rem

px 절대적

em, rem 브라우저 설정에 따라 상대적

결론적으로 rem 을 쓰도록. 폰트 크기를 조정할 수 있는 사용자의 권리

16px     >> 검사로 보면 계속 16px

16rem;  >> 검사로 보면 브라우저가 중간이 면 16px 크게 보면 24px로 나옴

브라우저 폰트 사이즈 미디엄.... very Large. : px 를 쓰면 글자가 바뀌지 않음, rem을 쓰면 폰트크기가 바뀜

color

color name, hex(16진수), rgb(빨강, 초록, 파랑 조합)

text-align

center, left, justify

justify :  양쪾이 균등하게 분배

      p{
        text-align: justify;
        border:1px solid gray;
      }

의미 없는 텟스트 lorem ipsum 로렘이썸

font-family, font-weight, line-height

#type1{ font-size:5rem; font-family: arial, verdana,"Helvetica Neue", serif;

line-height:2; /*두배 px 사용가나 부자연*/

font:bold 5rem/2

}

#type2{

font:bold 5rem/2 arial, verdana,"Helvetica Neue", serif;

}

font-family > 우선 순위에 따른 font 지정

장식 없는것 : sans-serif

장식 있는것 serif

고정폭 : monospace

합쳐서 써도됨. 

웹폰트

사용자가 폰트가 없으면 웹폰트 다운받아서 쓰게함... 영어는 가벼우나 한국어 용량이 큰편

Standard  

<link href="https:주소" 

Specify inCSS

#font1{

font-family: 'Open Sans Con~~';

}

font face generator 검색

ttf, otf, eot... 파일로 다운가능

web-font.html  이름 지정해서 해당 폰트 만들어 사용 가능

@font-face  {

font-family:'abc':

body{

font-family:'abc'

}

레이아웃 기본

인라인 vs 블럭 레벨  inline vs block level

<h1>Hello wold</h1>

안녕하세요 <a href=""> 생활코딩</a> 입니다. 

<style>

h1, a {boder:1px solid red;}

h1{display: inline;}

a{display:block;}

</style>

인라인 엘리먼트 : a

블럭레벨 엘리먼트 (줄 전체-줄바꿈- 공간을씀) :h 태그

박스 모델 - 주사용 css 중 70%정도

높이감, 여백, 크기 조절

<p>

p테그

</p>

<p>

파라그래프

</p>

안녕하세요<a href="">생활코딩입니다. </a>입니다. 

p, a{ 

/*border-width:10px;

border-style:solid;

border-color:red;  : 테두리

*/

boder:10px solid red;

padding:20px; /* 해당 크기 만큼 화면이 벌어짐 : 접시 음식*/

margin:40px;/* 테두리와 다른 요소간 간격  : 접시 접시*/

width:50px;

hight:50px;

}

** 인라인 엘리먼트에 적용하면 width, hight 값이 무시된다. 

box-sizing 

padding, margin 이 예상과 다를때. 예측하기 쉽게 하기.
width 둘다 같을 때 다르게 보임 --> boder, margin 값이 빠진 영역 의 길이가 같음
>> box-sizing 등장. 
box-sizing:border-box ; 경계의 크기가 동일해짐. 
*{   }   모든 선택자

position - absolute, fixed

left:0;
top0;  :: absolute 지정하면 ... 더이상 부모의 소속이 아님. 부모로 설정되는것이 다 설정이 않됨
position이 있는 상위 부모가 나타나면 기준으로 해서 위치값을 정함. 
position: fixed;  위치가 바껴도 고정됨

레이아웃 활용 flex

flex : 레이아웃을 잡을 때 사용하는 기능

Layout의 흑역사. ... 

table  :표여야 하는데...의미 없는 레이아웃에서도 사용하기도...

position... reletive... absolute

float ... 이미지를 옆에 이미지 글씨 흘러가도록..

<container>

<item></item>

<item></item>

</container>

container

 item

 display

flex-direction

flex-wrap

felx-flow

justify-content

align-items

align-content

 order

flex-grow

flex-shrink

flex-basis

flex

align-self

flux

1. 부모에 display:flex;

2. 부모에 

flex-direction:row-reverse;  : 오른쪽 정렬  , default : row

flex-direction:column-reverse;  수직역순 정렬, - 높이 공백 포함 거꾸로 정렬

flex-direction::column   : 수직 순서 정렬

3. item에

flex-grow:1;  *** 칸이 n이 1씩 나눠가져서 여백이 없어짐. 

.item:nth-child(2){  /*2번째 칸*/ 

flex-grow:3;   /*item에 flex-grow가 0이면 혼자 나머지 공간꽉채움*/ 

flex-bassis:300px;   여백이 존재.. 화면작아짐.

}

.item:nth-child(3){  /*2번째 칸*/ 

flex-grow:3;   /*item에 flex-grow가 0이면 혼자 나머지 공간꽉채움*/ 

flex-bassis:300px;   /*여백이 존재.. 화면작아짐.*/

flex-shrink:2;    /*basis 값을 가지고 있을 때 줄어들 떄 비율 , 0은 작아지지 않음*/

}



Holy Grail Layout 성배 레이아웃

Header
Nav      Main        AD
Footer






+ Recent posts