CSS 표시 : 인라인 블록이 여백 상단을 허용하지 않습니까?
display : inline-block 요소가 있지만 margin-top을 허용하지 않는 것 같습니다. 요소가 여전히 인라인 요소로 취급되기 때문입니까?
그렇다면 해결 방법이있는 사람이 있습니까?
# 1 수정 :
내 CSS는 매우 간단합니다.
.label {
background: #ffffff;
display: inline-block;
margin-top: -2px;
padding: 7px 7px 5px;
}
결국 콘텐츠를 다른 div에 래핑하고 여백 상단을 제공했습니다. 그러나 그것은 많은 추가 마크 업을 유발하고 내 코드를 덜 명확하게 만듭니다.
# 2 수정 :
margin-top
& margin-bottom
on inline-block
요소는 양수 값으로 만 작동하는 것 같습니다.
나는 display: table
. 그것은 인라인 블록의 콘텐츠 맞춤 속성을 가지고 있지만 그에 따라 콘텐츠를 이동시키는 방식으로 음의 여백을 지원합니다. 아마 당신이 그것을 사용하는 방법은 아니지만 작동합니다.
음수 여백을
.label{
position:relative;
top:-2px;
}
나머지 .label
스타일 외에도
다음 vertical-align
과 같이 시도 할 수 있습니다 .
.label {
background: #ffffff;
display: inline-block;
margin-top: -2px;
vertical-align: 2px;
padding: 7px 7px 5px;
}
jsfiddle에서 예제를 만들었습니다 : http://jsfiddle.net/zmmbreeze/X6BjK/ .
그러나 세로 정렬은 IE6 / 7에서 잘 작동하지 않습니다. 그리고 오페라 (11.64) 렌더링 버그가 있습니다.
그래서 position:relative
대신 사용 하는 것이 좋습니다 .
그게 사실입니다. 여백 대신 패딩을 사용할 수 있습니다. 또 다른 해결책은 요소에 컨테이너 div를 사용하는 것입니다. 해당 div inline-block
를 만들고 현재 요소를 해당 컨테이너 내부의 블록으로 만듭니다. 그런 다음 요소에 여백을 줄 수 있습니다.
가급적 jsfiddle.net 등에서 구체적인 예가 있으면 도움이 될 것입니다. 여기에 나와 같은 일반적인 설명을 포함하는 대신 답변을 더 구체적으로 지정하는 데 도움이 될 것입니다. ;)
참고 URL : https://stackoverflow.com/questions/7611030/css-display-inline-block-does-not-accept-margin-top
'developer tip' 카테고리의 다른 글
MiniTest에서 어떻게 스텁을 수행합니까? (0) | 2020.12.07 |
---|---|
토스트에 이미지를 추가 하시겠습니까? (0) | 2020.12.07 |
[NSDate date]로 현재 날짜 및 시간 가져 오기 (0) | 2020.12.07 |
C # DllImport에서 32 비트 또는 64 비트 DLL 사용 (0) | 2020.12.07 |
현재 분기의 팁이 뒤에 있기 때문에 업데이트가 거부되었습니다. (0) | 2020.12.07 |