๋ฐ˜์‘ํ˜•

 

์œ„ UI์—์„œ ์ƒ๋‹จ/ํ•˜๋‹จ ๋ฐ•์Šค์˜ ํ† ๊ธ€์ด ํ™œ์„ฑํ™” ๋˜๋ฉด border ์ƒ‰์ƒ์ด ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค. ํ•˜์ง€๋งŒ โžŠ์ƒ๋‹จ ๋ฐ•์Šค ์•„๋ž˜ border์™€ โž‹ํ•˜๋‹จ ๋ฐ•์Šค ์œ—์ชฝ border๊ฐ€ ๊ฒน์ณ์„œ 1px border๊ฐ€ 2px ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋œ๋‹ค(์ฃผํ™ฉ์ƒ‰ ํ™”์‚ดํ‘œ ๋ถ€๋ถ„).

 

ํ† ๊ธ€์ด ํ™œ์„ฑํ™”๋œ ์ƒํƒœ์—์„  ์ƒ๋‹จ ๋ฐ•์Šค์˜ margin-bottom ํ•˜๋‹จ ์—ฌ๋ฐฑ ๊ฐ’์„ -1px ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋‹ค๋ฅธ ๋ฐ•์Šค์˜ ๋ชจ๋“  ํ† ๊ธ€ ์ƒํ™ฉ์— ์ผ์ผ์ด ์ ์šฉํ•˜๋Š”๊ฑด ๋ฒˆ๊ฑฐ๋กญ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ํ† ๊ธ€์ด 3๊ฐœ ํ˜น์€ 4๊ฐœ๊ฐ€ ํ™œ์„ฑํ™” ๋˜๋Š” ์ƒํ™ฉ๋„ ๊ณ ๋ คํ•ด์•ผ๋˜๋ฏ€๋กœ ๋ณต์žกํ•˜๋‹ค. ์ด๋• display: table;์„ ํ™œ์šฉํ•ด์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๋ณ€๊ฒฝ ์ž‘์—…


๊ตฌ์กฐ ๋ณ€๊ฒฝ

๐Ÿ’ก border-collapse: collapse ์†์„ฑ์€ table ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋งŒ ์œ ํšจํ•˜๋‹ค. ํ…Œ์ด๋ธ” ํƒœ๊ทธ์— ๊ด€ํ•œ ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋งํฌ ์ฐธ๊ณ .

 

ํ† ๊ธ€์„ ๊ฐ์‹ธ๋Š” Wrapper ๋ฐ•์Šค๋ฅผ <table> ํƒœ๊ทธ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  border-collapse: collapse; ์†์„ฑ์„ ์ฃผ๋ฉด ์„  ๊ฒน์นจ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค. divtable๋กœ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  display: table; ์†์„ฑ๋งŒ ์ค˜๋„ ๋œ๋‹ค.

 

Wrapper ๋ฐ•์Šค์˜ ์ž์‹ ์—˜๋ฆฌ๋จผํŠธ๋Š” <tbody> <tr> <td> ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ๋œ๋‹ค. <div>๋ฅผ <td>๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  <tbody> <tr>๋กœ ๊ฐ์‹ธ๋ฉด ๋œ๋‹ค. <div>์— ์ •์˜ํ–ˆ๋˜ Flex ๋“ฑ์˜ ์Šคํƒ€์ผ๋„ <td> ํƒœ๊ทธ์—์„œ ์ž˜ ์ ์šฉ๋œ๋‹ค.

<!-- ๋ณ€๊ฒฝ ์ „ -->
<section>
  <div>
    <button />
    <div>...</div>
  </div>
</section>
<!-- ๋ณ€๊ฒฝ ํ›„ -->
<table>
  <!-- ๊ธฐ์กด section ํƒœ๊ทธ -->
  <tbody>
    <tr>
      <td>
        <!-- ๊ธฐ์กด div ํƒœ๊ทธ -->
        <button />
        <div>...</div>
      </td>
    </tr>
  </tbody>
</table>

 

border ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

๐Ÿ’ก ํ…Œ์ด๋ธ”์— border-collapse: collapse ์†์„ฑ์„ ์ฃผ๋ฉด border-radius ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋• border-style ์†์„ฑ์„ hidden์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ , box-shadow๋ฅผ ์ด์šฉํ•ด ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค(์ฐธ๊ณ ๊ธ€). ํ…Œ์ด๋ธ”์— border-radius ์†์„ฑ์„ ์ฃผ๋ฉด ์ฒ˜์Œ/๋งˆ์ง€๋ง‰ ํ™œ์„ฑํ™” ํ† ๊ธ€ ๋ฐ•์Šค์—๋„ ๋‘ฅ๊ธ€๊ธฐ๋ฅผ ์ค˜์•ผํ•˜๋ฏ€๋กœ ํ›จ์”ฌ ๋ณต์žกํ•ด์ง„๋‹ค.

 

  • table ํƒœ๊ทธ์— ํšŒ์ƒ‰ border(์ƒํ•˜์ขŒ์šฐ) ์Šคํƒ€์ผ ์ง€์ •
  • (ํ† ๊ธ€ ํ™œ์„ฑํ™” ์ „) ํ† ๊ธ€ ๋ฐ•์Šค์— ํšŒ์ƒ‰ border-top(์ƒ๋‹จ) ์Šคํƒ€์ผ ์ง€์ • — ๋ฐ•์Šค๊ฐ„ ๊ตฌ๋ถ„์„ 
  • (ํ† ๊ธ€ ํ™œ์„ฑํ™” ํ›„) ํ† ๊ธ€ ๋ฐ•์Šค์— ํŒŒ๋ž€์ƒ‰ border(์ƒํ•˜์ขŒ์šฐ) ์Šคํƒ€์ผ ์ง€์ •

 

์ ์šฉ ํ›„ ๋ชจ์Šต / ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•


์œ„์ฒ˜๋Ÿผ ์ž‘์—…ํ•˜๋ฉด ๋”์ด์ƒ border๊ฐ€ ๊ฒน์ณ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค. ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋ฉด ํ…Œ๋‘๋ฆฌ ๊ฒธ์นฉ ๋ฌธ์ œ๋ฅผ ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฐ˜์‘ํ˜• ์Šคํƒ€์ผ์„ ์ง€์ •ํ•˜๊ธฐ ๊นŒ๋‹ค๋กœ์šด ๋‹จ์ ์ด ์žˆ๋‹ค. ํ…Œ๋‘๋ฆฌ๋ฅผ ์ด์šฉํ•œ ๋ ˆ์ด์•„์›ƒ ์ž‘์—…์€ div๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ๋ณด๋‹ค ํ›จ์”ฌ ๋ณต์žกํ•œ ์ ๋„ ๊ณ ๋ คํ•ด์•ผ ๋œ๋‹ค.

 

 

ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ฒน์นจ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ๋ฌผ๋ก  ์žˆ๋‹ค. ์—˜๋ฆฌ๋จผํŠธ์— ๋ฐฐ๊ฒฝ์ƒ‰์„ ์ง€์ •ํ•œ ํ›„ box-shadow ์†์„ฑ์„ ์ด์šฉํ•ด ํ…Œ๋‘๋ฆฌ ์Šคํƒ€์ผ์„ ์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿผ ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ์ธ์ ‘ํ•ด ์žˆ์–ด๋„ ํ…Œ๋‘๋ฆฌ๊ฐ€ ๊ฒน์น˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.

.box {
  background: black;
  margin-bottom: 2px;
  box-shadow: 0 0 0 2px gold;
}

.box:hover {
  z-index: 1;
  box-shadow: 0 0 0 2px skyblue;
}

 

See the Pen set border using box-shadow by ColorFilter (@colorfilter) on CodePen.

 

 


๊ธ€ ์ˆ˜์ •์‚ฌํ•ญ์€ ๋…ธ์…˜ ํŽ˜์ด์ง€์— ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”
๋ฐ˜์‘ํ˜•