Search

μƒν’ˆ 등둝 - add.jsp

μƒν’ˆ 등둝 - add.jsp

β€’
타이틀 μ˜μ—­
β€’
폼 μ˜μ—­
β—¦
μ»¨ν…Œμ΄λ„ˆ
β—¦
μž…λ ₯
β–ͺ
파일
β–ͺ
ν…μŠ€νŠΈ
β–ͺ
λΌλ””μ˜€
β—¦
λ²„νŠΌ

타이틀 μ˜μ—­

<div class="px-4 py-5 my-5 text-center"> <h1 class="display-5 fw-bold text-body-emphasis">μƒν’ˆ 등둝</h1> <div class="col-lg-6 mx-auto"> <p class="lead mb-4">Shop μ‡Όν•‘λͺ° μž…λ‹ˆλ‹€.</p> </div> </div>
HTML
볡사
β€’
<div class="px-4 py-5 my-5 text-center">:
β—¦
px-4: μš”μ†Œμ˜ 쒌우 νŒ¨λ”©μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.
β—¦
py-5: μš”μ†Œμ˜ μƒν•˜ νŒ¨λ”©μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.
β—¦
my-5: μš”μ†Œμ˜ μƒν•˜ λ§ˆμ§„μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.
β—¦
text-center: ν…μŠ€νŠΈλ₯Ό 쀑앙 μ •λ ¬ν•©λ‹ˆλ‹€.
β€’
<h1 class="display-5 fw-bold text-body-emphasis">μƒν’ˆ 등둝</h1>:
β—¦
display-5: 큰 크기의 ν…μŠ€νŠΈ μŠ€νƒ€μΌμ„ μ μš©ν•©λ‹ˆλ‹€.
β—¦
fw-bold: ν…μŠ€νŠΈλ₯Ό ꡡ게 λ§Œλ“­λ‹ˆλ‹€.
β—¦
text-body-emphasis: ν…μŠ€νŠΈμ— κ°•μ‘° μŠ€νƒ€μΌμ„ μ μš©ν•©λ‹ˆλ‹€.
β—¦
μƒν’ˆ 등둝: 제λͺ© ν…μŠ€νŠΈμž…λ‹ˆλ‹€.
β€’
<div class="col-lg-6 mx-auto">:
β—¦
col-lg-6: 큰 ν™”λ©΄μ—μ„œ λ„ˆλΉ„λ₯Ό 6 컬럼으둜 μ„€μ •ν•©λ‹ˆλ‹€.
β—¦
mx-auto: 쒌우 λ§ˆμ§„μ„ μžλ™μœΌλ‘œ μ„€μ •ν•˜μ—¬ 쀑앙에 λ°°μΉ˜ν•©λ‹ˆλ‹€.
β€’
<p class="lead mb-4">Shop μ‡Όν•‘λͺ° μž…λ‹ˆλ‹€.</p>:
β—¦
lead: μ€‘μš”ν•œ ν…μŠ€νŠΈλ₯Ό κ°•μ‘°ν•˜λŠ” μŠ€νƒ€μΌμ„ μ μš©ν•©λ‹ˆλ‹€.
β—¦
mb-4: μš”μ†Œμ˜ ν•˜λ‹¨ λ§ˆμ§„μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.
β—¦
Shop μ‡Όν•‘λͺ° μž…λ‹ˆλ‹€.: μ„€λͺ… ν…μŠ€νŠΈμž…λ‹ˆλ‹€.

폼 μ˜μ—­

β€’
μ»¨ν…Œμ΄λ„ˆ
β€’
μž…λ ₯
β—¦
파일
β—¦
ν…μŠ€νŠΈ
β—¦
λΌλ””μ˜€
β€’
λ²„νŠΌ

μ»¨ν…Œμ΄λ„ˆ

<!-- μƒν’ˆ 등둝 μž…λ ₯ ν™”λ©΄ --> <div class="container shop"> <!-- μž…λ ₯ 양식 --> </div>
HTML
볡사
이 divΒ μš”μ†ŒλŠ”Β container와 shopμ΄λΌλŠ” 두 개의 클래슀λ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€. 이 ν΄λž˜μŠ€λ“€μ€ CSSμ—μ„œ μŠ€νƒ€μΌμ„ μ§€μ •ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.
html class μ†μ„±μ—λŠ” λ„μ–΄μ“°κΈ°λ‘œ κ΅¬λΆ„ν•˜μ—¬ μ—¬λŸ¬ 클래슀 속성값을 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.
container 속성값은 bootstrap CSS ν”„λ ˆμž„μ›Œν¬μ— μ •μ˜λœ 클래슀 μ†μ„±κ°’μœΌλ‘œ μ•„λž˜ νŽ˜μ΄μ§€μ—μ„œ 더 μžμ„Έν•œ μ„€λͺ…을 λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

container 클래슀 νŠΉμ§•

β€’
κ³ μ • λ„ˆλΉ„:Β containerΒ ν΄λž˜μŠ€λŠ” λ‹€μ–‘ν•œ ν™”λ©΄ 크기에 따라 κ³ μ •λœ μ΅œλŒ€ λ„ˆλΉ„λ₯Ό κ°€μ§‘λ‹ˆλ‹€.
β€’
쀑앙 μ •λ ¬:Β containerΒ ν΄λž˜μŠ€λŠ” 기본적으둜 쒌우 λ§ˆμ§„μ„ μžλ™μœΌλ‘œ μ„€μ •ν•˜μ—¬ μ½˜ν…μΈ λ₯Ό 쀑앙에 λ°°μΉ˜ν•©λ‹ˆλ‹€.
β€’
λ°˜μ‘ν˜•: ν™”λ©΄ 크기에 따라 λ„ˆλΉ„κ°€ μžλ™μœΌλ‘œ μ‘°μ •λ©λ‹ˆλ‹€.
Bootstrap 5의 containerΒ ν΄λž˜μŠ€λŠ” λ‹€μŒκ³Ό 같은 μ΅œλŒ€ λ„ˆλΉ„λ₯Ό κ°€μ§‘λ‹ˆλ‹€:
β€’
μ΅œμ†Œ λ„ˆλΉ„ 576px μ΄ν•˜: 100% λ„ˆλΉ„
β€’
μ΅œμ†Œ λ„ˆλΉ„ 576px 이상: 540px
β€’
μ΅œμ†Œ λ„ˆλΉ„ 768px 이상: 720px
β€’
μ΅œμ†Œ λ„ˆλΉ„ 992px 이상: 960px
β€’
μ΅œμ†Œ λ„ˆλΉ„ 1200px 이상: 1140px
β€’
μ΅œμ†Œ λ„ˆλΉ„ 1400px 이상: 1320px
μ΄λ ‡κ²Œ 미리 κ°€λ‘œ μ‚¬μ΄μ¦ˆκ°€ μ •ν•΄μ Έ 있기 λ•Œλ¬Έμ—, μ›ν•˜λŠ” λ””μžμΈ 규격의 κ°€λ‘œμ‚¬μ΄μ¦ˆλ₯Ό μ •ν•˜κ³  μ‹Άλ‹€λ©΄, μΆ”κ°€λ‘œ 클래슀 속성을 μ§€μ •ν•˜κ³  style.css μ—μ„œ 크기λ₯Ό 지정해주면 λ©λ‹ˆλ‹€.
.container.shop { max-width: 720px !important; }
CSS
볡사
μœ„μ™€ 같이 쒅속 μ„ νƒμžλ‘œ μ•„λž˜ μš”μ†Œλ₯Ό 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.
<div class="container shop"></div>
HTML
볡사
여기에 max-width λ₯Ό μ§€μ •ν•˜μ—¬ μ›ν•˜λŠ” κ°€λ‘œ μ‚¬μ΄μ¦ˆλ₯Ό μ μš©ν•©λ‹ˆλ‹€.

μž…λ ₯

β€’
파일
β€’
ν…μŠ€νŠΈ
β€’
λΌλ””μ˜€
β€’
λ²„νŠΌ
μž…λ ₯ 양식 νƒœκ·Έ form λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.
<form name="product" action="./add_pro.jsp" onsubmit="return checkProduct()" method="post" enctype="multipart/form-data"> </form>
HTML
볡사
β€’
name="product":
β—¦
폼의 이름을 μ§€μ •ν•©λ‹ˆλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈλ‚˜ λ‹€λ₯Έ μŠ€ν¬λ¦½νŠΈμ—μ„œ 폼을 μ°Έμ‘°ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.
β€’
action="./add_pro.jsp":
β—¦
폼이 제좜될 λ•Œ 데이터λ₯Ό μ²˜λ¦¬ν•  μ„œλ²„ μΈ‘ 슀크립트의 URL을 μ§€μ •ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ”Β add_pro.jsp 파일둜 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€.
β€’
onsubmit="return checkProduct()":
β—¦
폼이 제좜되기 전에 싀행될 μžλ°”μŠ€ν¬λ¦½νŠΈ ν•¨μˆ˜λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.Β checkProduct()Β ν•¨μˆ˜κ°€Β trueλ₯Ό λ°˜ν™˜ν•˜λ©΄ 폼이 제좜되고,Β falseλ₯Ό λ°˜ν™˜ν•˜λ©΄ 폼 제좜이 μ€‘λ‹¨λ©λ‹ˆλ‹€. 이λ₯Ό 톡해 폼 λ°μ΄ν„°μ˜ μœ νš¨μ„±μ„ 검사할 수 μžˆμŠ΅λ‹ˆλ‹€.
β€’
method="post":
β—¦
폼 데이터λ₯Ό μ„œλ²„λ‘œ 전솑할 λ•Œ μ‚¬μš©ν•  HTTP λ©”μ„œλ“œλ₯Ό μ§€μ •ν•©λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ”Β POSTΒ λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό μ „μ†‘ν•©λ‹ˆλ‹€.Β POSTΒ λ©”μ„œλ“œλŠ” 데이터λ₯Ό URL에 ν¬ν•¨ν•˜μ§€ μ•Šκ³  본문에 ν¬ν•¨ν•˜μ—¬ μ „μ†‘ν•©λ‹ˆλ‹€.
β€’
enctype="multipart/form-data":
β—¦
폼 데이터λ₯Ό μΈμ½”λ”©ν•˜λŠ” 방식을 μ§€μ •ν•©λ‹ˆλ‹€. 파일 μ—…λ‘œλ“œλ₯Ό ν¬ν•¨ν•œ 폼 데이터λ₯Ό 전솑할 λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€. 이 속성이 μ—†μœΌλ©΄ 파일 μ—…λ‘œλ“œκ°€ μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
enctype="multipart/form-data"
속성이 ν•„μš”ν•œ κ²½μš°λŠ” form νƒœκ·Έ μ•„λž˜μ— <input type=”file”> 파일 첨뢀 μž…λ ₯ νƒœκ·Έλ₯Ό μ‚¬μš©ν•  λ•Œμž…λ‹ˆλ‹€.
라벨과 μž…λ ₯ 양식이 μ–΄μš°λŸ¬μ§„ UI λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.
<div class="input-group mb-3 row"> <label class="input-group-text col-md-2">라벨 이름</label> <input type="text" class="form-control col-md-10" name="νŒŒλΌλ―Έν„° 이름"> </div>
HTML
볡사
β€’
<div class="input-group mb-3 row">:
β—¦
input-group: μž…λ ₯ 그룹을 μƒμ„±ν•˜μ—¬ μ—¬λŸ¬ μž…λ ₯ μš”μ†Œλ₯Ό ν•˜λ‚˜μ˜ 그룹으둜 λ¬ΆμŠ΅λ‹ˆλ‹€.
β—¦
mb-3: ν•˜λ‹¨ λ§ˆμ§„μ„ μΆ”κ°€ν•˜μ—¬ μš”μ†Œ κ°„μ˜ 간격을 λ§Œλ“­λ‹ˆλ‹€.
β—¦
row: Bootstrap의 κ·Έλ¦¬λ“œ μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•˜μ—¬ 행을 μƒμ„±ν•©λ‹ˆλ‹€.
β€’
<label class="input-group-text col-md-2" id="">라벨 이름</label>:
β—¦
input-group-text: μž…λ ₯ κ·Έλ£Ή λ‚΄μ—μ„œ ν…μŠ€νŠΈλ₯Ό ν‘œμ‹œν•˜λŠ” λ ˆμ΄λΈ”μ„ μƒμ„±ν•©λ‹ˆλ‹€.
β—¦
col-md-2: 쀑간 크기 μ΄μƒμ˜ ν™”λ©΄μ—μ„œ λ ˆμ΄λΈ”μ˜ λ„ˆλΉ„λ₯Ό 2 컬럼으둜 μ„€μ •ν•©λ‹ˆλ‹€.

파일

<input type="file" class="form-control col-md-10" name="file">
HTML
볡사
β€’
type="file": 파일 μž…λ ₯ ν•„λ“œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. μ‚¬μš©μžκ°€ νŒŒμΌμ„ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.
β€’
form-control: Bootstrap의 μž…λ ₯ ν•„λ“œ μŠ€νƒ€μΌμ„ μ μš©ν•˜μ—¬ μΌκ΄€λœ λ””μžμΈμ„ μ œκ³΅ν•©λ‹ˆλ‹€.
β€’
col-md-10: 쀑간 크기 μ΄μƒμ˜ ν™”λ©΄μ—μ„œ μž…λ ₯ ν•„λ“œμ˜ λ„ˆλΉ„λ₯Ό 10 컬럼으둜 μ„€μ •ν•©λ‹ˆλ‹€.
β€’
name="file": μ„œλ²„λ‘œ 전솑될 λ•Œ 파일 μž…λ ₯ ν•„λ“œμ˜ 이름을 μ§€μ •ν•©λ‹ˆλ‹€.

ν…μŠ€νŠΈ

<div class="input-group mb-3 row"> <label class="input-group-text col-md-2">μƒν’ˆλͺ…</label> <input type="text" class="form-control col-md-10" name="name"> </div>
HTML
볡사

λΌλ””μ˜€

<div class="input-group mb-3 row"> <div class="col-md-2 p-0"> <label class="input-group-text" id="">μƒνƒœ</label> </div> <div class="col-md-10 d-flex align-items-center"> <div class="radio-box d-flex"> <div class="radio-item mx-5"> <input type="radio" class="form-check-input" name="condition" value="NEW" id="condition-new"> <label for="condition-new">μ‹ κ·œ μ œν’ˆ</label> </div> <div class="radio-item mx-5"> <input type="radio" class="form-check-input " name="condition" value="OLD" id="condition-old"> <label for="condition-old">쀑고 μ œν’ˆ</label> </div> <div class="radio-item mx-5"> <input type="radio" class="form-check-input " name="condition" value="RE" id="condition-re"> <label for="condition-re">μž¬μƒ μ œν’ˆ</label> </div> </div> </div> </div>
HTML
볡사
β€’
<div class="input-group mb-3 row">:
β—¦
input-group: μž…λ ₯ 그룹을 μƒμ„±ν•˜μ—¬ μ—¬λŸ¬ μž…λ ₯ μš”μ†Œλ₯Ό ν•˜λ‚˜μ˜ 그룹으둜 λ¬ΆμŠ΅λ‹ˆλ‹€.
β—¦
mb-3: ν•˜λ‹¨ λ§ˆμ§„μ„ μΆ”κ°€ν•˜μ—¬ μš”μ†Œ κ°„μ˜ 간격을 λ§Œλ“­λ‹ˆλ‹€.
β—¦
row: Bootstrap의 κ·Έλ¦¬λ“œ μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•˜μ—¬ 행을 μƒμ„±ν•©λ‹ˆλ‹€.
β€’
<div class="col-md-2 p-0">:
β—¦
col-md-2: 쀑간 크기 μ΄μƒμ˜ ν™”λ©΄μ—μ„œ λ„ˆλΉ„λ₯Ό 2 컬럼으둜 μ„€μ •ν•©λ‹ˆλ‹€.
β—¦
p-0: λͺ¨λ“  νŒ¨λ”©μ„ μ œκ±°ν•©λ‹ˆλ‹€.
β€’
<label class="input-group-text" id="">μƒνƒœ</label>:
β—¦
input-group-text: μž…λ ₯ κ·Έλ£Ή λ‚΄μ—μ„œ ν…μŠ€νŠΈλ₯Ό ν‘œμ‹œν•˜λŠ” λ ˆμ΄λΈ”μ„ μƒμ„±ν•©λ‹ˆλ‹€.
β—¦
μƒνƒœ: λ ˆμ΄λΈ”μ— ν‘œμ‹œλ˜λŠ” ν…μŠ€νŠΈμž…λ‹ˆλ‹€.
β€’
<div class="col-md-10 d-flex align-items-center">:
β—¦
col-md-10: 쀑간 크기 μ΄μƒμ˜ ν™”λ©΄μ—μ„œ λ„ˆλΉ„λ₯Ό 10 컬럼으둜 μ„€μ •ν•©λ‹ˆλ‹€.
β—¦
d-flex: Flexbox λ ˆμ΄μ•„μ›ƒμ„ μ‚¬μš©ν•˜μ—¬ μžμ‹ μš”μ†Œλ₯Ό λ°°μΉ˜ν•©λ‹ˆλ‹€.
β—¦
align-items-center: μžμ‹ μš”μ†Œλ₯Ό 수직 쀑앙에 μ •λ ¬ν•©λ‹ˆλ‹€.
β€’
<div class="radio-box d-flex">:
β—¦
d-flex: Flexbox λ ˆμ΄μ•„μ›ƒμ„ μ‚¬μš©ν•˜μ—¬ μžμ‹ μš”μ†Œλ₯Ό λ°°μΉ˜ν•©λ‹ˆλ‹€.
β€’
<div class="radio-item mx-5">:
β—¦
mx-5: 쒌우 λ§ˆμ§„μ„ μΆ”κ°€ν•˜μ—¬ μš”μ†Œ κ°„μ˜ 간격을 λ§Œλ“­λ‹ˆλ‹€.
β€’
<input type="radio" class="form-check-input" name="condition" value="NEW" id="condition-new">:
β—¦
type="radio": λΌλ””μ˜€ λ²„νŠΌ μž…λ ₯ ν•„λ“œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
β—¦
class="form-check-input": Bootstrap의 λΌλ””μ˜€ λ²„νŠΌ μŠ€νƒ€μΌμ„ μ μš©ν•©λ‹ˆλ‹€.
β—¦
name="condition": λΌλ””μ˜€ λ²„νŠΌ 그룹의 이름을 μ§€μ •ν•©λ‹ˆλ‹€. λ™μΌν•œ 이름을 가진 λΌλ””μ˜€ λ²„νŠΌμ€ ν•˜λ‚˜λ§Œ 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.
β—¦
value="NEW": λΌλ””μ˜€ λ²„νŠΌμ˜ 값을 "NEW"둜 μ„€μ •ν•©λ‹ˆλ‹€.
β—¦
id="condition-new": λΌλ””μ˜€ λ²„νŠΌμ˜ IDλ₯Ό "condition-new"둜 μ„€μ •ν•©λ‹ˆλ‹€.
β€’
<label for="condition-new">μ‹ κ·œ μ œν’ˆ</label>:
β—¦
for="condition-new": λΌλ””μ˜€ λ²„νŠΌμ˜ ID와 μΌμΉ˜μ‹œμΌœ 라벨을 ν΄λ¦­ν•˜λ©΄ ν•΄λ‹Ή λΌλ””μ˜€ λ²„νŠΌμ΄ μ„ νƒλ˜λ„λ‘ ν•©λ‹ˆλ‹€.
β—¦
μ‹ κ·œ μ œν’ˆ: 라벨에 ν‘œμ‹œλ˜λŠ” ν…μŠ€νŠΈμž…λ‹ˆλ‹€.

λ²„νŠΌ

bootstrap λ²„νŠΌμ— λŒ€ν•œ μžμ„Έν•œ μ„€λͺ…은 μ•„λž˜ νŽ˜μ΄μ§€μ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
μƒν’ˆ 등둝 ν™”λ©΄μ—μ„œ μœ„μ™€ 같이 λ²„νŠΌμ„ μ–‘μͺ½ 끝에 λ°°μΉ˜ν•˜μ—¬ λ§Œλ“€μ–΄μ•Ό ν•©λ‹ˆλ‹€.
이 λ•ŒλŠ” FLEX λ ˆμ΄μ•„μ›ƒμ„ μ‚¬μš©ν•˜λ©΄ μ‰½κ²Œ μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
CSS 의 FLEX λ ˆμ΄μ•„μ›ƒμ— λŒ€ν•œ μžμ„Έν•œ μ„€λͺ…은 μœ„μ˜ νŽ˜μ΄μ§€μ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
CSS 의 FLEX λ ˆμ΄μ•„μ›ƒμ„ bootstrap 을 ν†΅ν•΄μ„œ μ‰½κ²Œ μ μš©ν•˜λ €λ©΄, μœ„ νŽ˜μ΄μ§€μ˜ μ„€λͺ…을 μ°Έμ‘°ν•˜λ©΄ μ’‹κ² μŠ΅λ‹ˆλ‹€.

Bootstarp 으둜 λ²„νŠΌμ–‘μͺ½ 끝에 λ°°μΉ˜ν•˜κΈ°

1.
d-flex 클래슀둜 flex μ»¨ν…Œμ΄λ„ˆ μ§€μ •ν•˜κΈ°
2.
μ£ΌμΆ•μ˜ μ •λ ¬ 기쀀을 justify-content-between 으둜 μ„€μ •ν•˜κΈ°
3.
λ²„νŠΌ μ μš©ν•˜κΈ°

d-flex 클래슀둜 flex μ»¨ν…Œμ΄λ„ˆ μ§€μ •ν•˜κΈ°

<div class="d-flex justify-content-between mt-5 mb-5"> </div>
HTML
볡사
β€’
d-flex: 이 divΒ μš”μ†Œλ₯Ό Flex μ»¨ν…Œμ΄λ„ˆλ‘œ μ„€μ •ν•©λ‹ˆλ‹€. Flex μ»¨ν…Œμ΄λ„ˆλŠ” μžμ‹ μš”μ†Œλ“€μ„ ν–‰ λ˜λŠ” μ—΄ λ°©ν–₯으둜 λ°°μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
β€’

μ£ΌμΆ•μ˜ μ •λ ¬ 기쀀을 justify-content-between 으둜 μ„€μ •ν•˜κΈ°

β€’
justify-content-between: μžμ‹ μš”μ†Œλ“€μ„ μ£Ό μΆ•(κ°€λ‘œμΆ•) μ–‘ 끝에 λ°°μΉ˜ν•˜κ³ , κ·Έ 사이에 λ™μΌν•œ 간격을 λ‘‘λ‹ˆλ‹€.
β€’
mt-5: 상단 λ§ˆμ§„μ„ μΆ”κ°€ν•˜μ—¬ μš”μ†Œ κ°„μ˜ 간격을 λ§Œλ“­λ‹ˆλ‹€.
β€’
mb-5: ν•˜λ‹¨ λ§ˆμ§„μ„ μΆ”κ°€ν•˜μ—¬ μš”μ†Œ κ°„μ˜ 간격을 λ§Œλ“­λ‹ˆλ‹€.

λ²„νŠΌ μ μš©ν•˜κΈ°

β€’
[λͺ©λ‘] λ²„νŠΌ : λͺ©λ‘ λ²„νŠΌμ€ μƒν’ˆ λͺ©λ‘ νŽ˜μ΄μ§€λ‘œ μ΄λ™ν•˜λŠ” λ§ν¬μž…λ‹ˆλ‹€.
β€’
[등둝] λ²„νŠΌ : 등둝 λ²„νŠΌμ€ form μš”μ²­μ„ μ œμΆœν•˜λŠ” λ²„νŠΌμž…λ‹ˆλ‹€.
<a href="./products.jsp" class="btn btn-lg btn-secondary">λͺ©λ‘</a> <input type="submit" class="btn btn-lg btn-primary" value="등둝" />
HTML
볡사
두 λ²„νŠΌμ— λŒ€ν•΄μ„œ bootstrap 의 btn 클래슀λ₯Ό μ μš©ν•˜μ—¬ λ²„νŠΌ λͺ¨μ–‘을 λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.
<div class="d-flex justify-content-between mt-5 mb-5"> <a href="./products.jsp" class="btn btn-lg btn-secondary">λͺ©λ‘</a> <input type="submit" class="btn btn-lg btn-primary" value="등둝" /> </div>
HTML
볡사
μœ„μ™€ 같이 FLEX μ»¨ν…Œμ΄λ„ˆ λ‚΄μ˜ μ•„μ΄ν…œλ“€μ€, μ»¨ν…Œμ΄λ„ˆμ—μ„œ μ§€μ •ν•œ μ£ΌμΆ•, κ΅μ°¨μΆ•μ˜ 정렬방식에 λ”°λΌμ„œ λ°°μΉ˜λ©λ‹ˆλ‹€.
μ—¬κΈ°μ„œλŠ”, justify-content-between λ₯Ό μ μš©ν•˜μ˜€κΈ° λ•Œλ¬Έμ— μ•„λž˜ 두 λ²„νŠΌμ΄ μ–‘μͺ½ 끝에 λ°°μΉ˜λ©λ‹ˆλ‹€.
이 bootstrap ν΄λž˜μŠ€λŠ” μ‹€μ œ CSS 의 μ•„λž˜μ™€ 같은 μŠ€νƒ€μΌ μ†μ„±μœΌλ‘œ μ μš©λ©λ‹ˆλ‹€.
justify-content : space-between;
CSS
볡사