色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

調整垂直伸縮框中寬度與縱橫比受約束的內容

錢諍諍1年前8瀏覽0評論

我不明白為什么在下面的代碼中,svg-container元素被限制為1/1的縱橫比,卻不放大它的父元素top。它按照我的需要垂直填充頂部元素,但是沒有擴大它的寬度。

目前,父模塊元素的寬度由bottom的子元素的總寬度決定,這正是我所期望的。除了svg-container的計算寬度比底部大,我希望頂部和模塊調整到這個更大的寬度。

在開發工具中,我清楚地看到了縱橫比的效果,因為svg容器的邊界框比它的父對象要大(藍色框向左右溢出)。盡管頂部元素的寬度設置為auto,但它不會調整寬度來容納其子元素。

在svg上設置height: 100%或width: 100%沒有幫助,我也不認為這是必要的,因為svg-container已經有了合適的尺寸。它只是不調整其父對象的大小。

我已經把整件事提交給ChatGPT,得到了這樣的回復:

自從。module元素應用了justify-content: space-between,它嘗試在其flex項(頂部和底部)之間分配可用空間。控件的width: auto屬性。模塊元素阻止它擴展以適應更寬的。SVG-容器。

這導致了替換寬度:自動輸入的建議。帶伸縮裝置的模塊:1。這并沒有改變什么,然后我被告知這在CSS中是不可能的。

我不明白為什么在flex框中垂直分布項目會阻止項目水平擴展flex框。是通過設計嗎,在CSS中有可能實現我需要的嗎?

/*
Extra wrapper needed for rounded borders because parent has overflow-x: auto
*/
.module-wrapper {
}

.module {
  border-radius: 0.5rem;

  /* Needed for absolute positioning of close button */
  position: relative;

  /* Hide corners */
  overflow-y: hidden;

  /* Vertically distribute top and bottom */
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;

  /* Fill entire available space in parent */
  height: 100%;
  
  width: auto;
}

.top {
  height: 100%;
  width: auto;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.svg-container {
  /* Push <controls> to the bottom */
  flex-grow: 1;

  /* Keep svg element centered */
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  
  aspect-ratio: 1/1;
}

.bottom {
  /* Container for more elements */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

<div class="module-wrapper">
    <div class="module">
        <button class="close"/>
        <div class="top">
            <div class="svg-container">
                <svg />
            </div>
            <div class="controls" />
        </div>
        <div class="bottom">
        </div>
    </div>
</div>