6

この質問を少し前にアップロードしましたが、タンブルウィードバッジが表示されたので、もう一度やり直します。

私は今マイケル・ハートルの鉄道構造を調べていますが、下の写真に示すように、ボックスサイズのプロパティがフォームの高さに干渉しているという問題が発生しました。

@mixin box_sizing {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input, textarea, select, .uneditable-input {
  border: 1px solid #bbb;
  width: 100%;
  height: auto;
  margin-bottom: 15px;
  @include box_sizing; <--- this line here is causing issues
}


ボックスサイジングが有効

(有効なボックスサイズ設定プロパティ)


ボックスサイズは有効ではありません

(ボックスサイズ設定プロパティは有効ではありません)


ボックスサイズ設定プロパティが有効になっている場合、フォームがどれだけ小さいかに注意してください。高さが非常に低いため、完全な文字を実際に表示することはできません。input、textarea、..etcの下のheightプロパティを変更しようとしました。しかし、私のコードはBootstrapによってオーバーライドされているようです。フォームを大きくする(高さを大きくする)方法があれば、ぜひ教えてください。

4

1 に答える 1

5

box-sizing: border-boxボックスモデルを変更して、パディングを高さに追加するのではなく、高さから取り除くようにします。

したがって、このブロック:

div {
  box-sizing: content-box; // default
  height: 2em;
  padding: .25em;
}

背が2.5em高くなり、このブロック:

div {
  box-sizing: border-box;
  height: 2em;
  padding: .25em;
}

パディング用に分割された間隔で2em高くなります。.5em

もう 1 つの問題は、ブートストラップが入力の高さを定義する方法です。

input[type="text"], ...other selectors..,
.uneditable-input {
  display: inline-block;
  height: 20px;
  ...
}

高さの定義が機能しなかった理由は、input[type="text"]が よりも具体的であるためinputです。そのため、ブートストラップ宣言があなたの宣言をオーバーライドしていました。

入力で発生している問題を解決するには、高さを定義し、より具体的なセレクターを使用します。

input[type="text"], textarea, select, .uneditable-input {
  border: 1px solid #bbb;
  width: 100%;
  height: 2em;
  margin-bottom: 15px;
  @include box_sizing;
}

デモ

于 2013-02-05T00:11:26.253 に答える