2015-01-08 4 views
4

이미지 또는 iframe 일 수있는 하나의 하위 요소가 포함 된 동일한 클래스의 여러 div를 사용하는 프로젝트에서 작업하고 있습니다. 높이가 지정되지 않았습니다. 컨테이너 div가 자식 요소의 높이가되도록하고 싶지만 기본 높이는 자식보다 3px 높습니다.HTML-CSS div가 자식보다 3px 높습니다.

http://jsfiddle.net/52me041n/2/에서 문제를 보여주는 JSfiddle이 있습니다.

HTML :

<div class="outside"> 
    <img class="inside" id="pic" src="https://images.duckduckgo.com/iu/?u=http%3A%2F%2Fblogs.cisco.com%2Fwp-content%2Fuploads%2Fclouds.png&f=1" height="200px"/> 
</div> 
<br/> 
<div class="outside"> 
    <iframe class="inside" width="420" height="315" src="//www.youtube.com/embed/VwTnyRHEZSQ" frameborder="0" allowfullscreen></iframe> 
</div> 

CSS :

.outside{ 
background-color: red; 
} 

나는 그냥 CSS와 적당한 높이로 사업부를 설정 가능 여부를 알고 싶습니다, 그렇지 않은 경우, 어떻게 오른쪽으로 그것 JS와 함께.

+0

vertical-align:bottom; 

을 추가? "컨테이너 div가 자식 요소의 높이가되도록하고 싶지만 기본 높이는 자식보다 3px 높습니다." – unekwu

+0

이미지의 높이가 100px라고하면 컨테이너 div는 기본적으로 103px입니다. – user1576628

답변

10

바이올린을 업데이트했습니다. http://jsfiddle.net/52me041n/3/

사용 -

img, iframe { 
    display: block; 
} 
+0

그게 쉬운가요? 인라인 디스플레이가 왜 그렇게하는지 궁금합니다. – user1576628

+0

기본적으로 이미지와 iframe은 INLINE으로 표시되고 하단에는 약간의 간격이 추가됩니다. 이를 방지하기 위해 블록 :)으로 표시합니다. –

+0

@ user1576628 인라인 블록 요소를 포함한 모든 인라인 요소는 텍스트처럼 취급되므로 줄 높이가 있습니다. 블록 요소가 없거나 블록으로 표시하도록 강요하지 않으면 선 높이를 무시하십시오. –

1

당신은 부모 DIV 내 어린이를위한 차단하기 위해 디스플레이 속성을 설정해야합니다. 연습으로 나는 항상 여백과 패드도 0으로 설정합니다. 들어 바이올린 here

.outside > * { 
    margin: 0; 
    padding: 0; 
    display: block; 
} 
0

"나는 그냥 CSS와 적당한 높이로 사업부를 설정 가능 여부를 알고 싶습니다, 그렇지 않은 경우, 어떻게 JS와 함께 오른쪽으로." < == 네,

<div id="cntr"> </div> 

CSS :

#cntr { width : 100px; height : 100px; overflow : hidden; } /* overflow may have other values also like hidden, auto, scroll 

*/

0

이 코드를 사용해보십시오. Fiddle

.outside 
{ 
    background-color: red; 
    display: block; 
} 
.outside img, iframe { 
    float: left; 
} 
+1

헤이 타이핑이 있습니다. 그것의'display'가 아니라'dispaly'. –

1

이미지가 텍스트와 동일한 기준에 없습니다.

당신이 무슨 뜻인지에 정교한 당신 IMG CSS의

fiddle

관련 문제