Справа для начала. Я знаю, что все браузеры показывают входы на несколько разных ширинах, и это то, что меня не волнует, но меня что-то раздражает.странное различие между mozilla, internet explorer и шириной пикселя Safari
У меня есть кнопка div справа от ввода. Теперь я использую jquery для изменения размера входной ширины до той же ширины, что и другие другие входы без кнопки.
Теперь в mozilla firefox он работает так, как ожидалось, но в Internet Explorer и Safari моя ширина выходит шире, чем у моих других входов 300 пикселей, хотя jquery получает правильный расчет.
В основном, что я делаю, я получаю ширину ввода, например, 300 пикселей, тогда я получаю ширину моей кнопки div, которая составляет 20 пикселей. Затем я делаю подсчет 300-20 = 280 пикселей. Затем я установил свой вход на 280px и добавлю кнопку div, которая должна содержать до 300 пикселей; снова, но почему-то в Safari он шире, чем мои 300px-входы.
Надеюсь, мой вопрос достаточно ясен, но при необходимости я могу добавить дополнительную информацию.
Вот мой 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>');
});