내 div 높이가 항상 너비의 절반이되도록 CSS에서 변수를 설정할 수 있습니까?
<div class="ss"></div>
CSS :
.ss {
width:30%;
height: half of the width;
}
이 30 % 너비는 화면 해상도에 따라 조정됩니다.
답변
상대 패딩 (높이 측면에서도)은 상위 요소의 너비를 기반으로하기 때문에 상위 항목에 패딩을 사용하여이를 수행 할 수 있습니다.
CSS :
.imageContainer {
position: relative;
width: 25%;
padding-bottom: 25%;
float: left;
height: 0;
}
img {
width: 100%;
height: 100%;
position: absolute;
left: 0;
}
이것은이 기사를 기반으로합니다 :
CSS 만 사용하는 반응 형 상자의 비례 적 크기 조정
답변
이를 수행하는 또 다른 좋은 방법은 설정된 종횡비로 투명 이미지를 사용하는 것입니다. 그런 다음 이미지의 너비를 100 %로 설정하고 높이를 자동으로 설정합니다. 안타깝게도 컨테이너의 원본 콘텐츠가 아래로 내려갑니다. 따라서 원본 콘텐츠를 다른 div에 래핑하고 상위 div의 맨 위에 절대적으로 배치해야합니다.
<div class="parent">
<img class="aspect-ratio" src="images/aspect-ratio.png" />
<div class="content">Content</div>
</div>
CSS
.parent {
position: relative;
}
.aspect-ratio {
width: 100%;
height: auto;
}
.content {
position: absolute;
width: 100%;
top: 0; left: 0;
}
답변
“너비”에 대해보기 너비를 사용하고 “높이”에 대해보기 너비의 절반을 다시 사용할 수 있습니다. 이런 식으로 뷰포트 크기에 관계없이 정확한 비율을 보장합니다.
<div class="ss"></div>
.ss
{
width: 30vw;
height: 15vw;
}
답변
둘러싸는 div의 픽셀 단위로 설정된 너비에 비례하는 수직 크기 조정을 원하면 다음과 같이 추가 요소가 필요하다고 생각합니다.
#html
<div class="ptest">
<div class="ptest-wrap">
<div class="ptest-inner">
Put content here
</div>
</div>
</div>
#css
.ptest {
width: 200px;
position: relative;
}
.ptest-wrap {
padding-top: 60%;
}
.ptest-inner {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #333;
}
작동하지 않는 2div 솔루션은 다음과 같습니다. 60 % 세로 패딩은 너비가 아니라 창 너비에 비례합니다 div.ptest
.
다음은 작동하는 위 코드의 예입니다.
답변
이 대답은 많은 클래스 이름을 사용하지 않는 것을 선호하는 것을 제외하고는 다른 대답과 거의 동일합니다. 그러나 그것은 단지 개인적인 취향입니다. 중첩 된 div의 목적을 미리 선언하므로 각 div에 클래스 이름을 사용하는 것이 더 투명하다고 주장 할 수 있습니다.
<div id="MyDiv" class="proportional">
<div>
<div>
<p>Content</p>
</div>
</div>
</div>
다음은 일반적인 CSS입니다.
.proportional { position:relative; }
.proportional > div > div { position:absolute; top:0px; bottom:0px; left:0px; right:0px; }
그런 다음 첫 번째 내부 div를 대상으로 너비와 높이를 설정합니다 (상단 패딩).
#MyDiv > div { width:200px; padding-top:50%; }
답변
확장 가능한 솔루션을 찾는 사람 : SASS에 작은 도우미 유틸리티를 작성하여 서로 다른 중단 점에 대해 반응 형 비례 사각형을 생성했습니다. SASS 비율 살펴보기
누구에게나 도움이되기를 바랍니다!
답변
보기 너비를 사용하여 높이를 설정할 수 있습니다. 100 vw는 너비의 100 %입니다.
height: 60vw;
높이가 너비의 60 %가됩니다.
