본문 바로가기
  • Let's study

Frontend14

[React] Tailwind CSS group과 group-hover 사용법 | 부모 상태에 따라 자식 요소 변경하기 Tailwind CSS를 사용하다 보면 부모 요소의 상태에 따라 자식 요소의 스타일을 변경해야 하는 경우가 있다.이때 사용할 수 있는 기능이 group이다.1. group이란?부모 요소에 group 클래스를 지정하면 자식 요소에서 부모의 상태를 감지할 수 있다.예를 들어 부모에 마우스를 올렸을 때 자식 요소를 보여주고 싶다면 다음과 같이 작성할 수 있다. 메뉴 평소에는 button이 hidden 상태이기 때문에 보이지 않는다.하지만 부모인 div에 마우스를 올리면 group-hover:block이 적용되어 버튼이 나타난다.group └── group-hover:block즉, group은 조상 요소의 상태에 따라 후손 요소의 스타일을 변경할 때 사용한다.2. group-hoverg.. 2026. 8. 16.
[React] CSS nth-child 사용법 | 특정 자식 요소 선택하기 CSS에서는 선택자를 이용해 특정 요소만 골라서 스타일을 적용할 수 있다.1. 자식 요소 선택하기> 선택자는 바로 아래에 있는 자식 요소를 선택할 때 사용한다.section > div { color: red;}위 코드는 section 바로 아래에 있는 div 요소를 선택한다.예를 들어 다음과 같은 HTML이 있다. 첫 번째 두 번째 세 번째section > div { color: red;} section의 자식 중 div인 첫 번째와 두 번째 요소에만 스타일이 적용된다.2. nth-child():nth-child()를 사용하면 자식 요소 중 특정 순서에 있는 요소를 선택할 수 있다.section > div:nth-child(1) { color: blue;}위 코드는 sec.. 2026. 8. 15.
[React] CSS Display와 Position 정리 1. Displaydisplay는 HTML 요소가 화면에 어떻게 배치될지를 결정하는 속성이다.Blockblock 요소는 기본적으로 한 줄 전체를 차지한다.display: block;따라서 여러 요소를 배치하면 기본적으로 세로 방향으로 쌓이게 된다.Inline-blockinline-block은 요소를 한 줄에 배치하면서 width, height 등을 지정할 수 있다.display: inline-block;여러 요소를 가로 방향으로 배치할 때 사용할 수 있다.2. Positionposition은 요소를 어떤 기준으로 배치할지 결정하는 속성이다.속성설명static기본값이며 일반적인 문서 흐름을 따른다.relative자신의 원래 위치를 기준으로 이동하며, absolute 자식 요소의 기준이 될 수 있다.abso.. 2026. 8. 14.
[React] 웹 개발에서 한글 폰트 적용하기 - 눈누 웹 페이지의 가독성과 디자인을 위해서는 적절한 폰트를 사용하는 것이 중요하다.특히 한글 웹 페이지에서는 사용할 수 있는 폰트가 제한적이기 때문에 상업적으로 무료 사용이 가능한 폰트를 찾아 사용하는 것이 좋다.1. 눈누눈누 - 상업용 무료 한글 폰트는 상업적으로 무료 사용이 가능한 한글 폰트를 모아놓은 사이트이다.다양한 폰트를 미리 확인할 수 있고, 웹에서 폰트를 적용하는 방법도 확인할 수 있어 웹 개발에서 유용하게 사용할 수 있다.프리텐다드많이 사용하는 한글 폰트 중 하나가 프리텐다드(Pretendard)이다.프리텐다드는 깔끔하고 가독성이 좋아 웹사이트나 애플리케이션에서 많이 사용된다.프리텐다드 - 눈누2. CSS로 프리텐다드 적용하기CSS의 @import를 사용하면 별도로 폰트 파일을 다운로드하지 않고.. 2026. 8. 14.
[React] 배열 - 새로운 배열 생성과 map() React에서 배열 형태의 데이터를 관리할 때는 기존 배열을 직접 수정하기보다 새로운 배열을 만들어 State를 변경하는 방식을 사용한다.또한 map()을 이용하면 배열의 데이터를 반복해서 JSX로 표현할 수 있다.1. 새로운 배열을 만들어 State 변경하기Todo 목록을 배열로 관리한다고 가정한다.const [todos, setTodos] = useState([]);새로운 Todo를 추가할 때 기존 배열에 직접 값을 추가하지 않고 새로운 배열을 만들어 전달한다.setTodos([...todos, value]);전개 연산자 ...를 사용하면 기존 배열의 요소를 새로운 배열에 복사할 수 있다.예를 들어 기존 배열이 다음과 같다면,todos["공부하기", "운동하기"]다음 코드가 실행된다.setTodos(.. 2026. 8. 14.
[React] Form 이벤트 처리하기 React에서 사용자의 입력을 받아 처리할 때는 form과 이벤트를 함께 사용하는 경우가 많다.이번에는 간단한 Todo 리스트 등록 기능을 구현하면서 form의 onSubmit 이벤트와 preventDefault()를 사용하는 방법을 정리했다.1. form의 onSubmit 이벤트HTML의 form에서 등록 버튼을 누르면 submit 이벤트가 발생한다.React에서는 onSubmit을 사용해 이벤트를 처리할 수 있다. {}}> onSubmit에 함수를 등록하면 사용자가 form을 제출했을 때 해당 함수가 실행된다.2. 이벤트 객체 e이벤트가 발생하면 React는 이벤트 정보를 담은 이벤트 객체를 전달한다.관례적으로 e 또는 event라는 이름을 사용한다.onSubmit={(e) => { .. 2026. 8. 14.