todo list를 만들면서 기본 체크박스 디자인이 아닌 실제로 체크한듯한 느낌을 주고싶어서 체크박스 스타일에대해 찾아보았다.체크박스의 스타일을 변경하는 것으론 한계가 있어서 대부분 체크박스와 연결된 label에 요소를 추가한다고 한다. 간단 요약1) 체크박스를 보이지 않게 숨긴다.2) label 혹은 태그 내 다른 요소를 체크되지 않은 상태의 체크박스로 꾸며준다.3) 체크된 상태도 꾸며준다. 이 때 예시처럼 다른 기호, 이미지 등을 띄우고싶다면 가상요소를 활용한다. 만들어보자HTML 구조 /* 이 span을 체크박스로 만들 것이다! */${newTask} 체크박스 숨기기input[type="checkbox"] { display: none;} 체크박스 기본 상태 만들기.checkboxIcon ..
todo list를 만들면서 버튼과 배경에 그라데이션을 넣고싶어 찾아보았다!linear-gradient()를 활용해 생각보다 간단하게 적용할 수 있었다. linear-gradient()CSS에서 두개 이상의 색상이 점진적으로 변화하는 이미지를 만드는 함수다.image 의 한 종류인 gradient 타입의 객체를 반환한다. 따라서 image를 사용하는 background-image 등에 사용할 수 있다.처음엔 별생각없이 background-color에 사용했다가 적용이 안됐는데 이 이유때문이었다! 사용법linear-gradient(각도 || 방향, 색상1, 색상2, ...); 1) 각도 || 방향 (기본값: to bottom)첫 색상에서 마지막 색상까지 변화하며 이어질 방향을 지정한다. 지정하지 않을 ..
todo list를 만들며 1) 타이틀 영역 2) 유저 입력 영역 3) 할일 목록 영역이 일정 비율을 유지하고, 목록이 영역을 넘어가도 전체 영역이 커지지 않고 스크롤하도록 하는 구조를 구성해보고 싶었다. 첫 시도처음엔 웹브라우저 크기가 달라지는 것만 생각하여 flex-grow를 활용했다..mainContainer { display: flex; justify-content: center; flex-direction: column; align-items: center;}.title { flex-grow: 1;}.userInput { flex-grow: 1;}.listBody { flex-grow: 7;}하지만 내 예상과 다른 결과가 나왔다.. 목록에 할일을 추가할수록..
최종 결과 구현 목표주어진 데이터 menuItems 를 배열 메서드를 활용해 화면에 표시하기const menuItems = [ { name: '비빔밥', description: '밥 위에 나물, 고기, 고추장 등을 얹고 비벼 먹는 한국 요리' }, { name: '김치찌개', description: '김치와 돼지고기 등을 넣고 끓인 한국의 찌개 요리' }, { name: '불고기', description: '양념한 고기를 구워서 먹는 한국 요리' }, { name: '떡볶이', description: '떡과 어묵을 고추장 양념에 볶아 만든 한국의 간식' }, { name: '잡채', description: '당면과 여러 채소, 고기를 볶아 만든 한국 요리' }]; 추가한 기..
배열에있는 한식 메뉴들을 화면에 출력하는 과제를 진행하며, 카테고리를 나누고 선택하는 카테고리의 메뉴만 볼 수 있는 기능을 추가하고싶어 메뉴바를 만들어보았다.이전에 사용해본 jQuery의 attr()을 활용해보았다. 간단 요약1) 선택할 수 있는 카테고리 메뉴들을 나열한다.2) 선택한 카테고리에 입힐 스타일을 css로 작성한다.3-1) 카테고리가 클릭됐을 때 호출하는 함수에서 해당 요소를 받아 저장해둔다.3-2) 이전 선택 요소를 기본 상태로 돌려주고, 선택된 요소를 선택됨 상태로 지정한다. 적용한 방법1) 카테고리들을 나열한다. 전체보기 밥 국/찌개 전 카테고리들의 나열이므로, ul을 활용해 묶어주었다. 2) 선택한 카테고리에 입힐 스타일을 작성한다..categoryItem:..
반복을 활용하여 위와같이 메뉴와 설명을 출력하는 과제를 진행하고 있다.화면을 구성한 후에 마우스를 올렸을 때 카드가 돌아가면 재밌을 것 같아 방법을 찾아보았다! 간단 요약1) 카드의 앞면, 뒷면을 담당할 요소를 각각 만들어준다.2) rotateY로 Y축 기준 회전시켜주고, 요소가 화면에 뒷면을 보일 때는 보이지 않도록 설정한다. (hidden)3) (상황에따라 선택) 레이아웃이나 포지션을 활용해 앞면/뒷면 요소들이 같은 위치에 위치하도록 한다. 회전시키는 메서드 등은 있을 것 같았는데 앞뒷면을 별도의 요소로 제작 -> 둘을 같은 위치에 놓고 -> 회전시키면서 요소가 뒷면일 때는 보이지 않게한다는 건 떠올리지 못했다!너무 직관적으로 돌리는 것만 생각하지 말고 간접적으로 적절히 연출하는 것도 필요하다는 생..