• 회원가입
  • 로그인
  • 구글아이디로 로그인

[box] CSS - box-sizing 속성 ★★ - 너비결정방식 (= 길이결정방식 = box-sizing속성 = 박스사이징속성) ※ 요소너비 결정방식 ※ 요소실제너비

목차
  1. box-sizing 예제 - 요소 너비 계산 방식 선택
  2. box-sizing 정의
  3. box-sizing 구문
  4. box-sizing 예제 - <input>요소와 <button> 요소 높이 통일

 

box-sizing 예제 - 요소 너비 계산 방식 선택 

 

<style> 

#hz_cb h2 {color:blue;}

#hz_cb div {

    box-sizing: content-box  /* 요소너비 = width + padding + border */

    width: 400px;

    height: 100px;

    padding: 30px;    

    border: 10px solid blue;

}


#hz_bb h2 {color:red;}

#hz_bb div {

    box-sizing: border-box;  /* 총너비 = width */

    width: 400px;

    height: 100px;

    padding: 30px;    

    border: 10px solid red;

}

</style>

</head>

<body>


<div id="hz_cb">

  <h2>box-sizing: content-box (기본값)</h2>

  <p>padding, border : 총너비에 포함 O</p>

  <div>

    총너비 480px = width 400 + padding (30 x 2) + border (10 x 2)<br>

    홈짱닷컴 (Homzzang.com)

  </div>

</div>

  

<div id="hz_bb">

  <h2>box-sizing: border-box</h2>

  <p>padding, border : 총너비에 포함 X</p>

  <div>

    총너비 400px = width 400<br>

    홈짱닷컴 (Homzzang.com)

  </div>

</div>


결과 보기

 

box-sizing 정의

 

(박스너비 = 박스전체너비 =박스총너비) 결정방식.

즉, 

너비・높이 계산 시, padding・ border 포함여부 결정.

 


 

1.

  • 기본값: content-box
  • 상속여부: X
  • 애니효과: X
  • CSS버전: CSS3
  • JS구문: object.style.boxSizing="border-box"

 

2.

IE8 이상 주요 최신브라우저 지원. (※ 구형 브라우저 경우, 접두사 필요)

  • 구형 Chrome, Safari 경우: -webkit-
  • 구형 Firefox 경우: -moz-

 

 

box-sizing 구문

 

selector {box-sizing: content-box|border-box|initial|inherit;}

 


[속성값]

 

content-box

너비 = (width + 좌우border + 좌우padding)

  • <input type="text">와 <button> 요소 높이 같게 할 때 필요.

 

border-box

너비 = (width)

  • 실제 너비: width + 좌우margin
  • padding, border 값은 너비에서 제외.

 

initial

이 속성의 기본값으로 설정.

 

inherit

부모요소의 속성값 상속.

 

 

box-sizing 예제 - <input>요소와 <button> 요소 높이 통일

 

<style>

.display {float:left; height:30px;line-height:30px; box-sizing: content-box;}

.btn_box {position:relative;}

.btn_box .btn  {width:80px; height:30px; line-height:30px; box-sizing: content-box; overflow:hidden;}

.btn_box .hidden {font-size:29px; position:absolute; right:0px; top:0px; opacity:0; filter: alpha(opacity=0); -ms-filter: alpha(opacity=0); cursor:pointer;}

</style>


<input type="text" id="hz" class="display" readonly>

<div class="btn_box">

    <button type="button" class="btn">파일찾기</button>

    <input type="file" name="hz" class="hidden" onchange="javascript: document.getElementById('hz').value = this.value"/>

</div>

 

결과보기

PS. 주의: box-sizing:content-box 없으면, 높이값이 같아도 실제 높이 다름.



분류 제목
css CSS - unset 속성값 - 상속값 존재 유무에 따라, inherit・initial 속성값 사용. (= …
selector CSS - [attribute^=value] 속성선택자 ★ - 지정 속성값 문자열로 시작하는 요소. (=시…
responsive CSS - RES Grid-View - (그리드뷰 = 화면너비분할 = 화면분할 = 수동그리드)
border CSS - border-bottom-width 속성 - 테두리하단너비 (= 테두리하단두께 = border-b…
selector CSS - [attribute~=value] 속성선택자 - 특정 속성값단어 (단독 또는 단어앞뒤공백)인 요소…
selector CSS - [attribute$=value] 속성선택자 - 지정 속성값 문자열로 끝나는 요소 (IE7)
selector CSS - :placeholder-shown 가상선택자 - 플레이스홀더 텍스트 표시 중인 요소 선택 (= :…
gradient CSS - linear-gradient() 함수 ★ - 선형 그레이디언트 배경이미지 (= 선형 그라디언트 …
border CSS - border-right-style 속성 - 테두리우측모양 (= border-right-style속…
border CSS - border-top-left-radius 속성 - 테두리상단왼쪽둥글기 지정 (= 보더탑레프트레이디…
selector CSS - :only-child 가상선택자 - 그 부모의 유일자식요소 (유일선택자, IE9)
shadow CSS - box-shadow 속성 - 요소 그림자 효과 주기 (= box-shadow속성 = 박스섀도속성)…
flex CSS - FlexBox (플렉스박스) 소개 ★★★ - 새로운 반응형 레이아웃 모델 ※ (가로/세로) (기본…
flex CSS - flex-basis 속성(I) ★ - 아이템 초기 길이 (= 아이템너비 = flex-basis속성…
column CSS - column-span 속성 - 컬럼 병합 여부 지정 (= 컬럼병합 = 컬럼확장 = column-s…
transform CSS - perspective 속성 - 3D요소의 원근 조망. (= perspective속성 = 퍼스펙티브…
text CSS - text-transform 속성 - 텍스트 대소문자 변환 (= text-transform속성 = …
transform CSS - transform-origin 속성 - 변형요소 위치 변경. ( = transform-origin…
box CSS - padding-right 속성 - 안쪽여백우측 (= padding-right속성 = 패딩라이트속…
gradient CSS - radial-gradient() 함수 ★ - 방사형 그레이디언트 배경이미지 (= 방사형 그라디언트…
17/27
목록
찾아주셔서 감사합니다. Since 2012