Проблема выравнивания окна поиска CSS только в iPad / iPhone - PullRequest
1 голос
/ 21 февраля 2012

У меня возникают проблемы с выравниванием поля ввода для поиска CSS, например, в стиле Google, которое можно найти на этой странице учебника .

Я отредактировал код в соответствии с моим дизайном, но по какой-то причине я не могу настроить его для правильного выравнивания в iPhone / iPad, когда правый элемент не совпадает с левым элементом внизу.

Проблема выравнивания может быть замечена здесь

Код выглядит следующим образом:

HTML:

<div id="search">
    <form name="" action="" type="">
    <input type="text" name="field" id="field" />
    <div id="delete"><span id="x">x</span></div>
    </form>
</div>

CSS:

#search {float:left; margin:11px 0 0 156px;}
#field {float:left;width:200px; height:22px; line-height:22px; text-indent:0px; font-family:arial,sans-serif; font-size:12px; color:#999; background: #fff; background:url('search-icon.png') no-repeat left center; padding-left:25px; border:solid 1px #d9d9d9; border-right:none; -webkit-appearance:none; -webkit-border-radius:0px;}
#field:focus {outline:none;}
#delete {float:left; width:16px; height:24px; line-height:22px; padding:0 0 0 6px; font-family:"Lucida Sans", "Lucida Sans Unicode",sans-serif; font-size:14px; background:#FFFFFF; border:solid 1px #D9D9D9; border-left:none; -webkit-appearance:none; -webkit-border-radius:0px;}
#delete #x {color:#999999; cursor:pointer; display:none; }
#delete #x:hover {color:#666666;}

Я заметил, что изменение высоты: 24px ниже:

#delete {float:left; width:16px; height:24px; line-height:22px; padding:0 0 0 6px; font-family:"Lucida Sans", "Lucida Sans Unicode",sans-serif; font-size:14px; background:#FFFFFF; border:solid 1px #D9D9D9; border-left:none; -webkit-appearance:none; -webkit-border-radius:0px;}

до высоты: 27px; корректно выравнивается в Safari на iPad / iPhone, но затем неправильно отображается в IE / FF / Chrome.

Любая помощь будет очень цениться с этим. Спасибо

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Set #delete {height:22px;}

Высота на вашем #field установлена ​​на 22px, поэтому она должна быть такой же на #delete.

Как примечание стороны, я уверенвы уже сделали, но если нет, инструменты Firebug или Chrome могут быть очень полезны при отладке CSS, HTML, Javascript и многих других.Я решил проблему для вас.Мне показалось, что это работает (и имело смысл), но у меня не было хорошего способа тестирования на iOS, поэтому вам придется обновить ссылку.По какой-то причине это было добавление отступов - 1px - к трем сторонам формы #field.Попробуйте изменить #field {padding-left: 25px} на #field {padding: 0 0 0 25px;} Это должно работать, так как для long height установлено одинаковое значение как в #field, так и в #delete.Дайте мне знать, если это работает, и я обновлю свой ответ.

1 голос
/ 21 февраля 2012

Я тестировал локально, это работает, если вы добавите следующее в верхней части страницы, тогда проблема должна быть исправлена.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...