개발 공부

리액트 기초(회원가입 양식만들기)

&u_na& 2023. 9. 9. 22:04

#원하는 폴더 경로 확인!!

#cd하고tab

#npx create-react-app state-project

import "./join.css";

function App() {
  return (
    <div className="App">
      <div className="join-warp">
        <div className="join-bg">
          <div className="title">
            <h3>회원가입</h3>
          </div>
          <div className="input-box">
            <div className="input-warp mid">
              <label>이름</label>
              <input type="text" name="name" id="name"></input>
            </div>
            <div className="input-warp mid">
              <label htmlFor="nickName">별명</label>
              <input type="text" name="nickName" id="nickName"></input>
            </div>
            <div className="input-warp long">
              <label htmlFor="email">이메일</label>
              <input type="text" name="email" id="email"></input>
            </div>
            <div className="input-warp long">
              <label htmlFor="address">주소</label>
              <input type="text" name="address" id="address"></input>
            </div>
            <div className="input-warp long">
              <label htmlFor="detail">상세주소</label>
              <input type="text" name="detail" id="detail"></input>
            </div>
            <div className="input-warp route">
              <label htmlFor="route">가입경로</label>
              <select type="text" name="route" id="route">
                <option defaultValue="선택">선택</option>
                <option defaultValue="">골라</option>
                <option defaultValue="">잡아</option>
              </select>
            </div>
            <div className="input-warp code">
              <label htmlFor="code">추천인코드</label>
              <input type="text" name="code" id="code"></input>
            </div>
            <div className="agree-box">
              <input type="checkbox" id="agree"></input>
              <label htmlFor="agree">개인정보수집 및 이용에 동의합니다</label>
            </div>
            <div className="btn-box">
              <button>가입하기</button>
            </div>
          </div>
        </div>
      </div>
    </div>
  );
}

export default App;
* {
  margin: 0;
  padding: 0;
}
.App {
  margin: 0 auto;
  background-color: cadetblue;
}
.join-warp {
  box-sizing: border-box;
  padding: 50px;
  background-color: azure;
  width: 800px;
  margin: 0 auto;
  border-radius: 10px;
}
.content {
  text-align: center;
  padding: 1em;
}
.join-Title {
  width: 100%;
  text-align: left;
}
.join-top {
  overflow: hidden;
  text-align: center;
  padding: 0.5em;
}
.join-Name {
  float: left;
  margin-right: 20px;
}
.join-Name > p {
  text-align: left;
}
.join-id {
  text-align: left;
}
.Emali {
  padding: 0.5em;
}
.Emali > p {
  text-align: left;
  font-size: 12px;
}
#emali {
  width: 100%;
  height: 30px;
}
#name {
  width: 300px;
  height: 30px;
}
#id {
  width: 300px;
  /*width: calc(100% / 2);*/
  height: 30px;
}
.root-warp {
  overflow: hidden;
  width: 100%;
  padding: 0.5em;
}
.root {
  float: left;
}
#root {
  width: 400px;
  height: 30px;
  float: left;
}
.code {
  padding: 0.5em;
  width: 70%;
  height: 30px;
  float: left;
}
.check {
  padding: 0.5em;
  width: 80%;
  width: 100%;
}
#check {
  float: left;
}
.btn {
  padding: 0.5em;
}
#btn {
  width: 80%;
  height: 50px;
  background-color: cadetblue;
  color: azure;
}