2단 블로그/ Emmit/함수/변수/Sass/폰트 단위/SVG/라이브러리

XIXI·2022년 5월 26일
0

대구AI스쿨

목록 보기
22/57
post-thumbnail

🌱 2단 블로그

✏️이어지는 내용

aside

<style>
aside{
    margin-top:1rem;
}
.side-box {
    margin-bottom: 4rem;
    border: 1px solid #ccc;
    outline: 2px solid #ccc;
    outline-offset: 4px;
    border-radius: 6px;
    padding: .8875rem;
    position: relative;
}
.side-box::before {
    display: block;
    width: 2rem; /*rem 단위 상대적인 크기, 기준값이 있어야 함*/
    height: 2rem;
    text-align: center;
    background-color: #fff;
    position: absolute;
    top: -1rem;
    right: 0;
    margin: auto;
}
.side-box a:hover {
    color: #7ac69f
}
.side-box h3 {
    font-family: 'Amatic SC', cursive;
    font-size: 1.875rem;
    letter-spacing: .1rem;
    text-align: center;
    margin: .875rem 0 1.125rem;
}
</style>

목록

<style>
.side-box li {
    border-bottom: 1px dashed #ccc;
    padding: 1rem .25rem;
    display: flex;
}
.side-box li:first-child {
    padding-top: 0;
}
.side-box li:last-child {
    padding-bottom: .5rem;
    border-bottom: 0;
}
.side-box li:before {
    display: inline-block;
    content: '';
    background: #7ac69f;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin: 6px 10px 0 0;
}
.side-box li a {
    flex: 1;
    line-height: 1.4;
}
</style>

<style>
.newsletter-form {
    display: flex;
    margin-top: 1.5rem;
}

.newsletter-form input[type='email'] {
    border: 2px solid #ccc;
    border-radius: 10px 0 0 10px;
    background-color: #fff;
    padding: 1rem;
    width: 75%;
}
.newsletter-form input[type='email']:placeholder {
    color: #ccc;
}
.newsletter-form input[type='submit'] {
    background-color: pink;
    border-radius: 0 10px 10px 0;
    color: #fff;
    cursor: pointer;
    padding: 1.1rem;
    margin-left: -5px;
}
.newsletter-form input[type='submit']:hover {
    background-color:  rgb(156, 85, 97);
}
</style>

popular-posts, footer

<style>
/* popular-posts */
.popular-posts {
    margin-bottom: 2rem;    
}
/* footer */
footer {
    background-color: #949087;
    text-align: center;
    padding: 3rem;
}
footer ul {
    display: flex;
    justify-content: center;
    margin-bottom: 2rem;
}
footer ul li {
    margin: 0 12px;
}
footer a:hover {
    color: #7ac69f;
}
footer small {
    color: antiquewhite;
    font-size: .875rem;
}
</style>

가로 최소 길이 600px 일 경우

<style>
@media (min-width: 600px) {
    .container{
        display: flex;
        justify-content: space-between;
        margin-bottom: 4rem;
        padding: 1rem 2.5rem 2.5rem;
    }
    header {
        height: 190px;
    }
    .page-title {
        margin: 1rem 0 2rem;
    }
    .page-desc {
        font-size: 1.125rem;
        margin-bottom: 4rem;
    }
    section {
        width: 68%;
        margin-bottom: 0;
    }
    .post-thumb{
        margin: 0 1rem 1rem 0;
        shape-outside: circle();
        float:left;
    }
    .post-img{
        width: 220px;
        height: 180px;
    }
    aside{
        width: 26%;
    }
    .popular-posts{
        position: sticky;
        top: 1rem;
    }
}
</style>


🌱 Emmit

✏️Emmet

에밋으로 빠르게 코딩하기

html 코딩

텍스트 입력 후 탭키
p ➪ 태그이름
p.text ➪ 태그이름 + class이름
p#text ➪ 태그이름 + id 이름
ul>li ➪ 자식 요소가 있는 태그
ul>li3 ➪ 여러 태그 반복 입력
div+p ➪ 같은 계층 입력
ul>li^div ➪ 한 단계 상위 계층 입력
p{텍스트} ➪ 텍스트 입력
li.menus$
3 ➪ 일련번호 붙이기

css 코딩

tab키, enter키
m ➪ margin
mb ➪ margin-bottom
w100 ➪ 100px
w100p ➪ 100%
w100r ➪ 100rem
w100e ➪ 100em
c#0bd ➪ #obd
m10-20-15-20 ➪ margin: 10px 20px 15px 20px

🌱 함수

✏️함수 계산식

clac(100% / 3)

*연산자 앞 뒤에 꼭 공백 넣기
사용 가능 연산자: + - 곱하기 나누기

height: calc(100vh - 100px);

높이 100vh에서 100px 뺀 값

🌱 변수

✏️CSS 커스텀 속성

div {
	--number: 500;
    width: calc(var(--number) * 1px);
    background: #0bd;
    padding: 16px;
}

--number라는 변수에 500값을 주고
선택자 속성 내에서 변수 이름으로 사용 가능

CSS 변수, 캐스케이드 변수

:root {
	--main-color: 4#db1ec;
}
a {
	color:var(--main-color);
}
.btn {
	background-color: var(--main-color);
}

:root로 변수를 선언하면 아래 모든 선택자에 같은 값을 줄 수 있음

✏️커스텀 속성 주의점

  • 대소문자 구분
  • 커스텀 속성에 속성명을 넣을 수 없음
  • 커스텀 속성을 호출한 뒤 단위를 덧붙이면 적용 안됌
  • calc 함수를 사용하면 단위 넣어서 사용 가능

🌱 Sass

✏️Sass란

CSS를 보조하는 새로운 도구
Sass

파일 확장자: .SCSS, .SASS

과정
style.scss 작성 ➪ 변환 ➪ style.css

✏️Sass 장점

  • 셀럭터 부모 자식 관계를 네스트로 구현
  • 변수로 값 다시 사용하기
    $ 기호로 변수 사용 가능
  • 파일을 분할해서 관리

✏️Patial 파일로 분할하기

  1. patial: 분활된 파일
    _header.scss 분활된 파일 이름 앞 언더바
  2. @use 'header'; style.scss에서 분활된 파일을 사용할 경우 적기
  3. style.scss 실제 사용하는 전체 scss

VS 코드에서 확장기능 설치 필요

✏️mixin 스타일 재사용

mixin 미리 저장한 스타일을 필요한 곳에 불러와 재사용 가능

@mixin circle {
	width: 80px;
    height: 80px;
    border-radius: 50%;
}

div {@include circle;}

인수 사용

@mixin circle($size) {
	width: $size;
    height: $size;
    border-radius: 50%;
}

div {@include circle(60px);}

🌱 폰트사이즈

px

고정크기

em

상대크기(기준: 부모요소)

rem

Root em

🌱 SVG

  • 화질에 영향을 받지 않는 벡터 이미지
  • 스타일 수정 용이
  • xml 기반 문서
  • 애니메이션, css3 효과 적용 가능

✏️사용

  • 로고와 아이콘
  • 데이터 시각화(시각화 프레임워크 사용)

라이브러리 vs 프레임워크 차이
라이브러리는 기능

프레임워크는 기능을 쓰기 위한 문법. 정해진 형태의 문법을 사용해야 함. 라이브러리를 모아놓았다. 작업에 제한 발생 but 다수의 사람들과 개발을 할 경우 정해진 문법이 있기 때문에 협업 시 용이

구글아이콘

🌱 라이브러리

✏️Animate.CSS

사용하기 쉬운 CSS 애니메이션 라이브러리
Animate.css

✏️imagehoverCSS

이미지 hover 시 애니메이션 라이브러리
imagehoverCSS

✏️loading.io

로딩 시 애니메이션 라이브러리
loading.io

✏️Hint.css

사이트 내 힌트 관련 라이브러리
Hint.css

✏️반응형 기본골격 사이트

반응형 기본 골격 사이트
반응형 기본골격 사이트

🍃 어려웠던 점 or 해결못한 것

폰트 사이즈가 단위마다 다르게 적용되고 달라지는 점이 신기했다.
또한 CSS에서 함수를 사용해 적용시킬 수 있다는 점이 흥미로웠다.
애니메이션 라이브러리를 적용시키는데 적용이 되지 않아 다시 해봐야겠다

🍀 해결방법 작성

✏️ 어떻게 해결을 했는가?
✏️ 이렇게 이해를 했다
✏️ 어디까지 이해했지?
폰트 사이즈 단위의 경우 기준이 달라 적용이 다르게 된다.
함수 사용의 경우 자주 쓰이는 값을 저장하면 편리하다
✏️ 다음에 시도해볼 방법
애니메이션 라이브러리를 사용해 버튼, 호버를 적용시켜봐야겠다.

🌷 학습 소감

템플릿을 다운 받아보면 Scss, Sass 파일이 있는 경우가 있었다.
그때는 CSS 파일과 어떤 차이가 있는지 알지 못했는데 오늘 알게되었다.
각 속성별 장단점이 있는 것 같다.
라이브러리를 잘 활용하면 빠른 시간에 높은 퀄리티의 페이지를 제작할 수 있을 것 같다.

profile
Life is experience:)

0개의 댓글