sass란 무엇일까요?완벽한 언어란 없습니다. 계속해서 수정해나가면서 점점 괜찮아지는 수 밖에 없죠. css란 언어도 그렇습니다. 웹페이지를 꾸밀 때 당연히 사용해야할 언어이지만 한계가 많은 언어입니다. 여러 선택자를 통해 효과를 주다보면 금방 코드의 양이 늘어나고 코드의 양이 늘어나면 그에 따라서 또 복잡해집니다. 이에 여러가지 해결책들이 생겼고, sass도 그 해결책 중의 하나라고 생각하시면 됩니다. sass는 기초 언어에 힘과 우아함을 더해주는 css의 확장이다. 위의 말에도 나와 있듯이 css에서의 한계점들을 sass는 여러가지 기능들을 추가해서 해결하려고 하죠.리액트 프로젝트에 sass를 설정해봅시다.예전에는 yarn eject 명령어를 통해서 웹팩 설정을 해줬어야 하지만 이제는 간단하게 sas..
css module이란?css은 모듈은 css를 전역적이지 않고 지역적으로 사용할 수 있게 만들어 줍니다. 가령 클래스 이름이 "App_app__1JlHe" 와 비슷한 형태로 되어 있는 것들을 본 적이 있으신가요? 이런 이름으로 되어 있는 것이 css module이 적용되어 있는 것입니다. App은 파일의 이름이고, app은 클래스네임, 그리고 1JlHe은 랜덤으로 생성된 해쉬입니다. 이처럼 지역적으로 바꿔주면서 이름도 절대 안겹치도록 바꿔주기 때문에 많이 사용합니다. 간단히 말하면 css 파일에 .big이라는 값이 들어가 있더라도 파일이 다르면 둘은 다른 값이 됩니다. 리액트에 적용시키기리액트가 업그레이드 되면서 css 모듈을 적용시키는 방법이 장난아니게 쉬워졌습니다. css 파일 이름과 확장자 사이에..
css reset을 사용하는 이유각 브라우저마다 기본적으로 태그가 갖고 있는 디자인은 다릅니다. 단순히 표현하자면 각자가 예쁘다고 느끼는 것이 다르기 때문에 똑같아야 하는 것들만 똑같고, 마진 같이 자율적으로 값을 줄 수 있는 것은 브라우저에서 예쁘다고 느낀 것만큼 준 것입니다. 그런 기본적인 값들이 다르기 때문에 css reset을 통해서 스타일을 없앤 후에 값을 주었던 것이죠.css의 all 속성엘리먼트에 적용된 값들을 초기화할 수 있게 만들어 주는 것이 all 속성입니다. 줄 수 있는 값은 initial, inherit, unset이 있습니다. 아래와 같이 여러 태그들이 있다고 가정해보세요. 이 태그들은 기본적인 스타일들을 갖고 있습니다. 이제 이 태그들에 기본 스타일을 없애보도록 하겠습니다. al..
직접 한번 만들어보면서 css grid를 연습해봅시다.실제로 만들어보면 앞에서 다뤘던 것을 금방 익힐수 있습니다. 페이지 보러가기 간단한 싱글 페이지입니다. 링크에 접속하시면 똑같은 화면을 볼 수 있습니다.예제를 만들 때 도움이 되는 사이트이용하시는 곳이 있다면 상관없지만 해당 사이트를 만들 때 아이콘 등을 어디를 이용할 지 모르겠다면 아래의 사이트를 이용하시면 됩니다. iconmonstr 바로 가기 저는 svg에서 embed를 통해 직접 삽입을 하는 편입니다. 이미지의 경우 저는 핀터레스트를 통해서 이미지를 찾고 이미지의 링크를 div태그의 배경에 삽입했습니다. 또한 css 리셋 등은 검색하면 바로 나오지만 아래에 링크를 첨부합니다. css reset 바로 가기분석해보기예제용으로 만든 것이기 때문에 모..
min-content와 max-content 활용이름에서 알 수 있듯이 min-content는 최소한의 컨텐츠 크기를, max-content는 최대한의 컨텐츠 크기를 가지게 해주는 값입니다. 위의 코드를 봐주세요. 해당 코드에 우리는 가운데 아이템에 "this is long text"라는 구문을 넣었고, 아이템들을 감싸고 있는 컨테이너에는 그리드를 선언하고 가운데 트랙의 값을 min-content를 주었습니다. 우리가 적은 구문이 어떻게 되어 있나요? 띄워쓰기 한 부분을 기준으로 컨텐츠가 내려가 있고, 컨텐츠를 유지하는 가장 최소의 공간은 가지고 있습니다. 이렇게 만들어주는 것이 "min-content"입니다. 그럼 max-content는 어떻게 될까요? 텍스트가 차지할 수 있는 최대의 공간은 모든 텍스..
라인을 잘 기억해주셔야합니다.그리드에 다루면서 라인에 대해서 설명했던 것을 기억하시나요? 아이템의 경우 어느 공간을 어느 정도 차지할 것인가 표시하는 것이 주로 사용하는 기능이기 때문에 라인을 기억해주는 것이 중요합니다. 해당 코드를 실행하면 아래와 같은 자주 보던 형태를 만들 수 있습니다. 코드를 보시면 grid-auto-rows를 설정해 놨기 때문에 칸이 모자라면 row를 1fr 크기로 만들게 됩니다. 이제 이 기본형태를 통해서 아이템을 여러 셀을 차지하도록 해보겠습니다.grid-column과 grid-row를 통해서 차지하는 공간 늘리기위의 상자는 column에 4개의 선이 있고, row에는 3개의 선이 있습니다. 그래서 시작선과 종료선을 값으로 주면 해당 선에 맞게 공간을 차지하게 됩니다. 변화가..
css flex 박스에서 아이템을 옮기는 속성들을 생각해보세요.주축 방향으로 옮기는 것은 justify-content, 교차축 방향으로 옮기는 것은 align-items 입니다. grid에서도 이와 같은 속성들이 있습니다. 하지만 차이점도 있죠. flexbox는 방향을 설정하는 것에 따라 주축이 달라지기 때문에, 당연히 그에 따라 옮기는 방향이 달라지지만 그리드에서는 justify-content는 항상 가로축으로 이동하고, align-content는 세로축으로 이동시킵니다. 또 그리드가 좀 더 세분화되어 있습니다. justify-items와 align-items 등 아이템들에게 적용되는 속성들도 있습니다.justify-content, align-content 더 알아보기fr과 같은 단위는 유동적입니다. ..
grid를 선언하는 방법그리드가 무엇인 지, 또 플렉스박스와 비교하는 포스팅을 작성할 때 그리드를 선언하는 방법과 트랙을 선언하는 코드를 작성했었습니다. 여기서 잠깐 다시 짚어보고 진행하도록 하겠습니다. display의 값으로 grid를 주는 것이 그리드를 선언하는 방법이고, grid-template-rows와 grid-template-columns로 트랙을 선언할 수 있다고 했습니다. 그럼 형태에 일단은 트랙에 의해 생겨난 "그리드 셀"에 아이템(자식 엘리먼트)들을 하나씩 놓아둔다고 했었습니다. 이까지 기억나시나요? 트랙은 여러가지의 값을 줄 수 있습니다. 지금은 픽셀을 주었지만 그리드에서 사용할 수 있는 새로운 단위인 fr을 다루고 속성들을 다뤄보도록 하겠습니다.새로운 속성 "fr" 배워보기 픽셀은 ..
형태를 변화시킬 때 사용하는 속성은?css에서 형태를 변화시킬 때 사용하는 속성은 제목에서도 알 수 있듯이 transform입니다. 보통 rotate를 자주 사용하는데 이 뿐만 아니라 확대하는 scale과, 기울이는 skew 도 있습니다. rotate 말고는 거의 사용할 일이 없는 속성이죠. 가장 많이 사용하는 실용적인 예를 들어본다면 홈페이지에서 햄버거 아이콘을 만들 때 라던가 화살표를 돌릴 때 사용합니다.햄버거 아이콘 만들어 보기백스페이스와 엔터사이에 \가있는데 컨트롤을 누른 채 이것을 누르면 가느다란 선이 나옵니다. span 태그 사이에 넣은 값은 이 값을 3개 넣은 것입니다. 그리고 이 엘리먼트를 90도로 돌리면 홈페이지 어디에서나 사용하는 햄버거 아이콘을 만들 수 있습니다.transform-or..
그리드는 무엇이고, 어떨 때 사용될까요?grid는 display 속성의 값 중 하나입니다. 레이아웃을 짜는데 사용되기 위해 만들어졌습니다. .container {display: grid;} 위와 같은 형태로 선언하기만 하면 쉽게 사용할 수 있습니다. 왜 그리드가 만들어졌고, 레이아웃을 짜는데 사용하기 좋다고 할까요? 그러한 대답은 css의 flexbox와의 비교를 통해서 더 쉽고, 정확하게 알 수 있습니다. 이번 포스팅은 flex 박스와의 비교를 통해서 그리드에 대해서 좀 더 알아보고 미리 알아두셔야 할 용어와 개념들을 설명해보겠습니다. 그리고 그 다음에 그리드가 주어지는 부모에는 어떤 속성들이 따라오는지, 또 자식 엘리먼트에는 어떤 속성들을 줄 수 있는 지를 이어서 포스팅하도록 하겠습니다.flexbox..