[CSS] 기초, 박스모델, 셀렉터

노호준·2022년 12월 22일
0

CSS

  • ui: user interface
  • ux : user experience
  • html파일이 있어야만 동작가능
  • 셀렉터{선언 속성:red;}
  • span은 감싼 범위만큼의 공간을 css로 변형가능
  • html과 css 연결
    <link rel = "stylesheet" href="index.css"/>
  • rel: 파일특징, href: 파일위치
  • css스타일적용법 1. 인라인스타일
    <nav style="background: #eee; color: blue">...</nav>
    1. 내부 스타일 시트 3. 외부 스타일시트(권장)
h4 {
  color: red;
}
  • 특정 h4에만 적용하고 싶으면 html파일에 id를 할당하자.id는 단 하나의 요소에만 써야함
<h4 id="navigation-title">This is the navigation section.</h4>
#navigation-title{
	color: red;
} //이렇게
  • 여러 요소에 쓰고싶으면 class를 써야함
  • class는 .class명으로 적용 id는 #으로 적용
.menu-item {
  text-decoration: underline;
}
  • 여러클래스중 하나만따로 적용하기
  • 띄어쓰기로 두번째클래스명을 할당함
<li class="menu-item selected">Home</li>
  • 그리고 .selected로 스타일링 해주면 됨
  • color속성은 글자색을 변경함
  • font-family속성은 글꼴을 변경함, 구글폰트사이트 css잘 나와있음
  • font-size속성으로 글자크기 변경가능
  • 굵기, 밑줄, 가로줄, 자간, 행간 가능
  • html로 font center 쓰지말고 text-aline의 center을 쓰자

단위

  • 절대적 크기 px, 일반적으로 상대적 단위 rem을 쓴다.
  • vw, vh로 상대적 크기를 조정

박스모델

  • 줄바꿈 되는 박스는 block박스<p><div>, 크기지정 못하는 박스는 inline박스라고 함<span>, 글자가 차지하는 만큼의 width를 가짐
  • 줄바꿈이 일어나지 않으면서 block박스 특징을 가지는 inline-block박스
  • inline박스는 width, height속성이 적용안됨 inlene-block은 가능
  • border기준으로 padding(안쪽여백) margin(바깥쪽여백)이 있음
  • border-width,sthyle,color등 있음
  • margin-top,right,bottom,left 그냥하면 모든방향 여백추가
  • padding : 10px 20px 30px 40px 상우하좌순으로 여백추가함, 두개면 상하|좌우
  • height속성 overflow:auto속성 border-box에서 height : height + padding-top + padding-bottom + border-top + border-bottom
* {
  box-sizing: border-box;
}
  • 위 별표는 모든 요소를 선택하는 셀렉터, content-box보다 border-box를 추천

CSS selector

기본 셀렉터

* {} //전체셀렉터, 모든요소를 선택함
hi {} //태그셀렉터 태그
#only {} //id셀렉터
.widget {} //class 셀렉터
#label.center {} //동시선택가능
a[href] {} //attribute 셀렉터, a엘리먼트중 같은 속성을 가진 요소를 선택함
section, hi {} //두 요소를 다중으로 선택함
#container .mx-auto //id container의 후손중 class가 mx-auto인걸 선택

자식/후손/형제 셀렉터

header > p {}
  • 자식셀렉터, header 안의 p는 선택되나 header안의 span안의 p는 적용안됨
    header p {}
  • 후손셀렉터, header안 p, span안의 p 모두 적용
    section ~ p {} //section안에있는 p모두 선택
  • 형제셀렉터, 같은 부모요소를 공유하면서, 첫번째 입력한 요소 뒤에오는 요소들 선택
    section + p {} //section바로다음 p만 선택
  • 인접 형제 셀렉터, selection안의 첫 p만 선택됨

기타 셀렉터

a:link{} // 사용자가 방문치않은 <a>요소를 선택합니다
  • 가상 클래스 셀렉터, 요소 상태정보에 기반해 요소선택
  • ui요소 상태 셀렉터, 구조 가상 클래스 셀렉터, 부정 셀렉터, 정합성 확인 셀렉터

기타 팁

  • dribble, pinterest에서 디자인 요소 참고할 수 있다.
  • 색약인등을 위해 웹접근성 좋게 만드는게 좋다
  • css는 빈 페이지에 적용해가면서 공부하는게 좋음
  • font-weight는 글자굵기, 400이 기본, 700이 볼드

0개의 댓글