2016-09-21 6 views
0

textfield "X" pxとしたい。ページを反応させるために、size属性を削除しました。しかしこの変更により、実際のサイズはtextfieldに減少しました。入力ボックスのサイズを増やす(size属性を使用しない)方法はありますか?私はブートストラップcol-xs-2などを使用しましたが、それは私のカスタマイズされたレイアウトを助けていません。また、私がこのような問題を抱えているのは初めてではないことに注意してください。それは、divとボタンの特別な配置が連続して発生し、すべてのビューポートで一貫して見えるようにするための要件で発生します。誰かが同じような問題に直面して同じことをした場合、あなたの考えを分かち合いましょう。応答性のあるページのサイズ属性を削除する代わりに

すべての解像度でギャップを一定にしたいと思っています。ブートストラップDIV内部100%に入力フィールドの幅を設定size属性値と

[div]gap[textfield]gap[div] 

<div class="form-group"> 
    <div class="linstyle1"> 
     <label>text1</label> 
    </div> 

    <div id="some-textfield" class="left leftmargin"> 
    <!--struts tag populates a input field--> 
     <s:textfield name="input1" value="%{input}" size="23" maxlength="23" cssClass="form-control enter" required="required" /> 
    </div> 

    <div id="desktop" class="left leftmargin"> 
     <button class="btn btn-primary btn-table-responsive " type="submit" name="button1" title="button1"> 
     </button> 
    </div> 

</div> 
+0

テキストフィールドでフォームグループとフォームコントロールクラスを使用できます。これらは応答クラス – Cyclotron3x3

+0

でdiv要素のコードを投稿できますか?あなたがフォームコントロールの中でそれを使用している場合は、一意ではありません。あなたの目標を達成するのを助けるpadding-topとpadding-bottomになるかもしれません。 – Cyclotron3x3

+0

私はギャップに何の問題も見ません。私は2つの異なる解像度のモニターでフィドルで走った。ギャップは一貫しています – Cyclotron3x3

答えて

1

CSSメディアクエリを使用することができます。

.dPad { 
 
    position:absolute; 
 
    display:inline-block; 
 
    width:10%;background:#0f0 
 
} 
 
.inFlex { 
 
    position:absolute; 
 
    width:60%; 
 
    left:20%; 
 
    right:20% 
 
}
<div> 
 
    <div class="dPad" style="left:0px">left</div> 
 
    <input type="text" class="inFlex" /> 
 
    <div class="dPad" style="right:0px">right</div> 
 
</div>

唯一の問題は、隙間なく(ある、またはギャップのサイズによっては、<div>と0123の間にスペースを入れることはできません。そうすると、レイアウトが壊れることがあります。

ギャップがない別のオプションですが、タグ間に空白がないことに注意してください。それは重要です。

また、<input>のデフォルトのボーダーとパディングは、100%に達するように制御する必要があるため、削除されています(入力枠とパディングでどのブラウザを使用するかは信用できません)。

.dPad { 
 
    position:absolute; 
 
    display:inline-block; 
 
    width:15%;background:#0f0 
 
} 
 
.inFlex { 
 
    position:absolute; 
 
    width:69%; 
 
    left:15%; 
 
    right:15%; 
 
    border:0px; 
 
    padding:0.5em 0.5%; 
 
    background:#ff0 
 
}
<div><div 
 
    class="dPad" style="left:0px">left</div><input 
 
    type="text" class="inFlex" value="text field" /><div 
 
    class="dPad" style="right:0px">right</div></div>

固定幅のギャップを持つために、あなたはその後、@media CSSスイッチ(調整する@media all and (max-width:480px)のようなものを使用px値にパーセント値を変更することで、同様のことを行うことができますpx異なる画面サイズの値

+0

本当に私が対処したいのは、同じ問題を回避する方法ではありませんか?また、私は入力フィールドの直前と直後の両方で10pxまでのギャップを減らし、すべてのビューで一貫性を持たせたいと思っています(これもうまくいく場合) – yeppe

+0

パーセントを使用し、タグ*幅の値が100%になる限り問題はありません。ただし、タグ間に空白がある場合は、幅の値を100%未満にする必要があります。小さな画面でレイアウトが壊れる可能性があります。 – Tigger

+0

(コンテキスト:divと入力の間に小さなギャップがある)私によると、IEの5%のパーセントは、ChromeやFirefoxと同じではないため、ギャップの一貫性に戻ってしまうなど、ブラウザ間で同じではないという問題があります。ギャップの間に10pxの値を指定すると、一貫性が増します。 (小さな呼吸スペース)ただし、多くのタグが1行で圧縮されていると動作しません(行サイズを100%にすることはできません)。 – yeppe

1

23として、それはいずれ。幅を%に設定すると、すべてのビューポートに適応するように応答します。

<div class="form-group"> 
    <div class="col-sm-3"> 
     <label>text1</label> 
    </div> 

    <div id="some-textfield" class="col-sm-6"> 
     <!--struts tag populates a input field--> 
     <s:textfield name="input1" value="%{input}" maxlength="23" cssClass="form-control enter" required="required" /> 
    </div> 

    <div id="desktop" class="col-sm-3"> 
     <button class="btn btn-primary btn-table-responsive " type="submit" name="button1" title="button1"></button> 
    </div> 
</div> 

ブートストラップはデフォルトでガター幅を処理します。 divの幅を設定するために余分なクラスを追加する必要はありません。

+0

この場合、いくつかのコードを表示してください。 –

+0

ブートストラップの幅がパーセントで表示されているため、ギャップが揃っていないと表示される – yeppe

+0

ブラウザインスペクタを使用して、cssクラスまたはidがブートストラップdivのデフォルトのマージンとパディング値をオーバーライドしていないかどうかを確認します。 –

0

あなたはこのような何かがあなたのために働くかもしれない

https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries

+0

plunkrのリンクを提供することができます – ricky

+0

divにあなたのテキストフィールドをラップして、入力サイズを100%にすることができます。そして親のdivを反応させることができます。 – ricky

+0

htmlタグでsize属性を使用しないでください。代わりに、cssを使用して入力の幅を100%にします。これは親divとの相対的な値になります。これはすでに応答しています。働いていないのですか? – ricky

関連する問題