開始的權利我知道所有的瀏覽器都會以略有不同的寬度顯示輸入,這是我不擔心的事情,但有些令我煩惱。mozilla,Internet Explorer和Safari像素寬度之間的奇怪區別
我有一個輸入右側的div按鈕。現在我正在使用jquery將我的輸入寬度調整爲與沒有按鈕的其他輸入相同的寬度。
現在在Mozilla Firefox中,它按預期工作,但在Internet Explorer和Safari中,我的寬度比我的其他300px輸入寬,即使jquery得到正確的計算。
基本上我做什麼我得到輸入的寬度,例如300px然後我得到我的按鈕div的寬度是20px。 然後我做一個calcualation 300-20 = 280px。然後我設置我的輸入爲280px,並添加我的div按鈕,這應該加起來300px;再次,但由於某種原因在Safari瀏覽器比我的300像素輸入寬。
我希望我的問題很清楚,但如果需要,我可以添加更多信息。
這裏是我的html
<label class="myform w9" for="name">Req' Delivery Date</label>
<input class="contactinput yellow w22 inputImage fe" type="text" id="po_requireddeliverydate" placeholder="Required field" readonly/>
<div id="clear_podate" class="inputWrapDelete"></div>
我的CSS
.inputWrap{
display:flex;
display:-webkit-flex;
display: -ms-flexbox;
margin-bottom:8px;
}
.inputWrapDelete{
width: 20px;
height: 20px;
cursor: pointer;
background-image: url(../../images/buttons/buttons_25x25.png);
border-radius: 0 5px 5px 0;
border: 2px solid #009900;
background-color: #090;
}
.fe
{
border-radius: 5px 0 0 5px;
}
.contactinput{
border-radius: 5px;
border: 2px solid #009900;
height: 20px;
padding-left: 5px;
}
.w22
{
width:300px;
}
我的jQuery
$(".inputImage").each(function(){
$(this).width($(this).width()-$(this).next().width());
$(this).add($(this).next()).wrapAll('<div class="inputWrap"></div>');
});