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

HTML輸入標記意外移動CSS網格線

阮建安2年前10瀏覽0評論

為了簡化我的問題,假設我有一個2x2 CSS網格div。我用網格模板調整3 div(用類名:& quotbtn & quot,& quot標題& quot,并且& quot信息& quot)在這4個單元格中,如下面的代碼片段。(合并第二行中的兩列以保留第三個div class = & quot信息& quot)

第一個div(class = & quot;btn & quot)的長寬比為1/1。所以我就把它的高度設為10vh,它就變成了一個正方形。

我的問題 問題是& quot輸入& quot最后一個div內的標記class = & quot信息& quot。 如果我沒有輸入標簽,那么一切都按預期工作。中間的網格線考慮第一列的最小內容(如在網格-模板-列中設置的那樣),并保持在最左邊的位置。

但是如果我在最后一個div中使用input標記,它會意外地移動網格中線!這是意外的,因為網格的第二行有足夠的空間放置它,我認為它不應該被移動。

要發現問題,只需從下面的代碼片段中刪除輸入標簽,并查看不同之處。

div.contain {
  display: grid;
  grid-template-rows: fit-content(20%) 45%;
  grid-template-columns: min-content auto;
  grid-template-areas:
        "btn title"
        "info info";
  gap: 10px;
}

.btn {
   grid-area: btn;
   aspect-ratio: 1 / 1;
   height: 10vh;
   border: 1px solid;
   
}

.title {
   grid-area: title; 
   border: 1px solid;
}

.info {
  border: 1px solid;
  grid-area: info;
}

<div class="contain">
  <div class="btn">Btn</div>
  <div class="title">Title</div>
  <div class="info">
    Normal Text
    <div>another div</div>
    <input>
  </div>  
</div>

只需將align-self: start添加到信息類中

div.contain {
  display: grid;
  grid-template-rows: fit-content(20%) 45%;
  grid-template-columns: min-content auto;
  grid-template-areas:
        "btn title"
        "info info";
  gap: 10px;
}

.btn {
   grid-area: btn;
   aspect-ratio: 1 / 1;
   height: 10vh;
   border: 1px solid;
   
}

.title {
   grid-area: title; 
   border: 1px solid;
}

.info {
  border: 1px solid;
  grid-area: info;
  align-self: start; 
  padding:2px
}

<div class="contain">
  <div class="btn">Btn</div>
  <div class="title">Title</div>
  <div class="info">
    Normal Text
    <div>another div</div>
    <input>
  </div>  
</div>

我找到了答案,

應該設置輸入標簽寬度值。我將它設置為任意百分比,它工作正常

input {
  width: 50%;
}