это мой первый пост здесь. Я не знаю, как объяснить свою проблему, потому что я действительно не знаю, что заставляет мой CSS-код сломаться. Было бы проще показать вам фотографию.
Поэтому у меня есть тег div и входные и дочерние элементы div. Один из div - статический 32px x 32px, и я вычисляю его ширину с помощью calc (100% - 32px), но при масштабировании некоторые пиксели не заполняются входом.
Вот фотография проблемы: http://imgur.com/TkRFLde
Это происходит, когда зум не делится на 100. Например, он разрывается на 110%, 150% и 175%. Но это правильно, когда зум 100%, 200%, 300%...
Вот мой код:
<div class="search">
<input type="text" value="Search" class="search-text" />
<div class="search-icon" ></div>
</div>
CSS:
.search {
height: 32px;
width: 250px;
}
.search-text{
float:left;
width: calc(100% - 55px) !important;
display: inline-block !important;
border-top-right-radius: 0 !important;
border-bottom-right-radius: 0 !important;
margin: 0;width: 196px;
}
.search-icon{
display: inline-block !important;
background-color: #ACB6BE;
height: 30px;
width: 31px;
float:right;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
cursor: pointer;
border: 1px solid #acb6be;
}
input[type=text] {
border-radius: 5px;
border: 1px solid #acb6be;
min-width: 180px;
color: #acb6be;
padding: 0 10px;
height: 30px;
background-color: #fff;
font-weight: 600;
}
Или jsfiddle: http://jsfiddle.net/39VDR/1/
Проблема возникает, потому что когда вы увеличиваете масштаб, ваши значения больше не будут целыми. Это означает, что округление будет иметь место, а внешний контейнер (.search
) будет на 1px
больше, чем вы ожидали.
Вы можете удалить float:right
на .search-icon
и он будет работать нормально.
Вы можете видеть это здесь:
.search-icon{
display: inline-block;
background-color: #ACB6BE;
height: 30px;
width: 31px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
cursor: pointer;
border: 1px solid #acb6be;
font-size:12px;
vertical-align: top;
}
Тем не менее, как уже упоминалось, вы можете удалить значение !important
если вы просто добавите более специфичность для своих селекторов.