Хаки и особенности верстки

Обрезанный select в ie

Если задать для select фиксированную ширину элемента, то в internet explorer всех версий текст в полях option также будет обрезаться до этой фиксированной ширины.
Решение1: просто javascript

<script type="text/javascript">
function expandSELECT(sel) {
  sel.style.width = '';
}

function contractSELECT(sel) {
  sel.style.width = '100px';
}
</script>

<select multiple style="width: 100px;" onfocus="expandSELECT(this);" onblur="contractSELECT(this);">
  <option></option>
</select>

Этот код будет увеличивать/уменьшать ширину select при наведении/снятии фокуса. Минус решения - select будет двигать другие элементы в одном с ним ряду.

Решение 2: использовать плагин jquery ie-select-width http://plugins.jquery.com/project/ie-select-width, который позволяет через css гибко настраивать отображение select.

Слои в ie6

Проблему ie6 и порядком отображения элементов, позиционированных абсолютно, можно решить несколькими способами: расставить z-index у родительских элементов (в ie6 они учитываются), или можно разместить блок, который должен отображаться выше всех самым последним. Если в верстке это не возможно, то можно передвинуть его через javascript

//перемещаем блок user_login за последний блок сайта - footer
$('#user_login').insertAfter($('#footer'));

Хорошо про это написано здесь - http://cssing.org.ua/2008/12/07/internet-explorer-z-index/

Комментарии

Оставить сообщение

Картинка