프론트엔드/react

React - image, 화면가로3등분(bootstrap이용),public폴더용도

2023. 7. 29. 21:58
목차
  1. img 넣는법
  2. css에서 img넣기
  3. html에서 img넣기
  4. 화면을 가로로 3등분
  5. public폴더의 용도
  6. public 폴더에 있는 이미지 사용할 때

현재 페이지는 이렇습니다. 

위의 nav는 react bootstrap에서 가져왔습니다. 이제 nav아래에 페이지의 대문을 장식하는 이미지를 넣어보겠습니다.

 

img 넣는법

css에서 img넣기

App.js에 <div className = "main-bg"></div>를 작성해주고 css에서 다음과 같이 작성합니다.

.main-bg {
  height : 300px;
  background-image : url('./bg.png');
  background-size : cover;
  background-position : center;
}

css파일에서 src폴더안에 있는 사진을 사용하고 싶으면 ./이미지경로 사용하면 됩니다. 

 

 

html에서 img넣기

html안에서 src폴더의 이미지를 넣고 싶으면 이미지를 import 해오고 사용해야 합니다. 

import bg from './bg.png'

function App(){
  return (
    <div>
      <div className="main-bg" style={{ backgroundImage : 'url(' + bg + ')' }}></div>
    </div>
  )
}

1. import 작명 from './이미지경로/한 다음에 

2. 이미지경로가 필요한 곳에서 작명한걸 사용합니다. 

<img> 태그 쓰고 싶으면 <img src={bg}/> 이렇게 써도 됩니다. 

 

 

 

화면을 가로로 3등분

화면을 가로로 3등분하고 싶으면 Bootstrap에 있는 코드를 사용하면 간편해집니다. 

아래의 코드를 복사 붙여넣기만 하면 됩니다.

<div className="container">
  <div className="row">
    <div className="col-md-4">안녕</div>
    <div className="col-md-4">안녕</div>
    <div className="col-md-4">안녕</div>
  </div>
</div>

그래서 아래와 같이 이미지, 상품명, 상품정보를 추가해보았습니다.

<div className="container">
      <div className="row">
         <div className="col-md-4"> <img id="shoe_img" src="이미지경로" width="80%"/>
            <h4>상품명</h4>
            <p>상품설명</p></div>
         <div className="col-md-4"> <img id="shoe_img" src="이미지경로" width="80%"/>
            <h4>상품명</h4>
            <p>상품설명</p></div>
          <div className="col-md-4"> <img id="shoe_img" src="이미지경로" width="80%"/>
            <h4>상품명</h4>
            <p>상품설명</p></div>
      </div>
    </div>

 

 

public폴더의 용도

여러가지 소스코드는 src폴더에 보관하면 되는데 

이미지같은 static 파일의 경우 public폴더에 보관해도 됩니다.

리액트로 개발을 끝내면 build 작업이라는걸 하는데 지금까지 잤던 코드를 한 파일로 압축해주는 작업입니다.

src폴더에 있던 코드와 파일은 다 압축이 되는데 public폴더에 있는 것들은 그대로 보존해줍니다.

그래서 형태를 보존하고 싶은 파일은 public 폴더에 넣으면 되는데 js파일은 그럴 일은 거의 없고

이미지, txt, json 등 수정이 필요없는 static 파일들의 경우에 public 폴더에 보관해도 상관없습니다.

 

 

public 폴더에 있는 이미지 사용할 때

/이미지경로 사용하면 됩니다. 그래서 페이지에 이미지 100장을 넣어야하는 경우 public 폴더에 밀어넣으면

import 100번 안해도 되니 편리합니다. css파일에서도 /이미지경로 하면 됩니다. 

<img src="/logo192.png" />

 

하지만 권장되는 방식은 아래입니다. 왜냐면 리액트로 만든 html 페이지를 배포할 때 

문제가 발생할 수 있습니다. 그래서 아래와 같이 사용하면됩니다. 

<img src={process.env.PUBLIC_URL + '/logo192.png'} />

 

 

 


https://codingapple.com/course/react-basic/

 

React 리액트 기초부터 쇼핑몰 프로젝트까지! - 코딩애플 온라인 강좌

  Next.js는 프론트엔드부터 서버까지 만들 수 있는 React기반 프레임워크입니다. 이것만 사용해도 풀스택 웹개발이 가능합니다.    Next.js 사용시 서버사이드 렌더링이 쉽기 때문에  React, Vue만 사

codingapple.com

 

'프론트엔드 > react' 카테고리의 다른 글

React - 라우팅  (0) 2023.07.31
React - import, export  (0) 2023.07.30
React - input(2), state배열 추가, 삭제  (1) 2023.07.28
React - input(1)  (0) 2023.07.28
React - props  (0) 2023.07.27
  1. img 넣는법
  2. css에서 img넣기
  3. html에서 img넣기
  4. 화면을 가로로 3등분
  5. public폴더의 용도
  6. public 폴더에 있는 이미지 사용할 때
'프론트엔드/react' 카테고리의 다른 글
  • React - 라우팅
  • React - import, export
  • React - input(2), state배열 추가, 삭제
  • React - input(1)
최맹수
최맹수
최맹수
맹수개발
최맹수
전체
오늘
어제
  • 분류 (236)
    • 로우코드(Lowcode) (53)
      • outsystems (35)
      • OutSystems프로젝트 (18)
      • Mendix (0)
    • 프론트엔드 (0)
      • html (0)
      • css (3)
      • javascript (68)
      • react (47)
      • typescript (7)
    • 정보처리기사 (20)
      • 실기 (16)
    • 공부 (9)
    • Git (5)
    • 백엔드 (21)
      • node.js(express) (20)
    • 자바 (1)
      • java (1)
      • Spring (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • javscript
  • javascript
  • 정보처리기사실기
  • 아웃시스템즈
  • outsystems
  • await
  • 프로젝트
  • 정보처리기사
  • kiosk
  • dom
  • 로우코드
  • typescript
  • 배열
  • aggreagtes
  • 자바스크립트
  • react
  • 프론트엔드
  • Promise
  • 함수
  • lowcode

최근 댓글

최근 글

hELLO · Designed By 정상우.
최맹수
React - image, 화면가로3등분(bootstrap이용),public폴더용도
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.