
코딩애플 강의를 통해 배운 Publishing을 정리한 글입니다.
2025년 2월 24일
Part 3 : 고급모듈
.클래스::수도클래스
/* 첫번째 글자, 첫번째 줄 */
first-letter , first-line
/* 내부 맨 뒤에 뭔가 추가할 때 사용 */
after
/* 내부 맨 앞에 뭔가 추가할 때 사용 */
before
li$변수 : 스타일px같은 숫자는 연산 가능함:root { --변수명: 스타일 }선운 후 var(--변수명)를 써야함ex) calc(숫자 - 숫자)%임시클래스스타일의 값을 파리미터로
@minxin 함수명 (파라미터1, $파라미터2) { 스타일 } 적은 후 @include 함수명 (파라미터1, $파라미터2) 이렇게 적으면 된다
스타일을 파라미터로
mixin에서는 #{ $파리미터 } : -1px;
@include 함수명 (파라미터1, 파라미터2)
=> 이렇게 적용도 가능
video태그에는 여러 형식이 있기 때문에 안에 source태그와 그곳안에 타입을 적어주는게 좋다
=> 호환성을 챙길 수 있음 (각 브라우저마다 지원하는 확장자가 다르기 때문)
그래서 여러 소스 태그를 박아놓는게 좋다
video태그에는 controls, autoplay muted 사용이가능
(muted는 크롬 브라우저 정책때문에)
preload="none"
=> 미리다운x
preload="auto"
=> 미리다운o
preload="metadata"
=> 미리다운 적당히
poster="경로" (썸네일)
loop (무한재생)
audio태그를 사용함
controls (요거는 필수)
muted (음소거된 상태)
autoplay 말고 비디오처럼 sorce태그 나 다른 스타일링이 가능
will-change (바뀔 내용을 미리 렌더링해주는 속성)
=> https://dev.opera.com/articles/ko/css-will-change-property/
(뭔가 이상하게 버벅일 때만 쓰고 애니메이션이 스무스하게 잘 된다면 쓸 이유는 없음
이상하게 많이 쓰면 브라우저 자체가 더 느려질 수 있다.)
하드웨어 가속
=> 애니메이션이 너무 많아 CPU만으로 전부 연산이 불가능하다면 GPU의 도움을 받을 수도 있음
(transform: translate3d(0, 0, 0);)
<div class="grid-container">
<div></div>
</div>
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr; /*가로4칸*/
grid-template-rows: 100px 100px 100px; /*세로3칸*/
grid-gap: 10px;
}
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
grid-template-columns: 100px 100px 100px 100px;
grid-template-rows: 100px 100px 100px;
grid-template-areas: "헤더 헤더 헤더 헤더";
grid-column: 1/4;
grid-row: 1/3;
transform-style: preserve-3d;
transform: rotateY(180deg);