Закругленные вкладки CSS

Я создал несколько закругленных вкладок навигации с помощью CSS, и у меня возникли проблемы при реализации hover.

Во-первых, это ссылка на сайт Вкладки, так как это довольно сложно объяснить. Пожалуйста, наведите курсор на левую часть вкладок, чтобы понять мою проблему. Я объяснил ниже.

У меня есть фоновое изображение, установленное для элементов #navigation li, оно содержит левый боковой угол, а затем у меня есть второе фоновое изображение (правый угол), которое устанавливается с помощью #navigation a.

Однако при наведении указателя мыши на левую часть вкладки отображается только небольшой фрагмент фона, я полагаю, это связано с тем, что наведена только область li. Очевидно, я хотел бы, чтобы вся вкладка выделялась, как при наведении курсора на остальную часть.

Это было довольно сложно объяснить, поэтому, если вам нужно задать мне дополнительные вопросы, чтобы разобраться в проблеме, пожалуйста, ответьте.

Вы исправили эту проблему на своем сайте?

JoshBerke 30.12.2008 20:21

Нет, еще нет, я собираюсь немного прочитать материал, опубликованный annakata.

Ronnie 30.12.2008 20:23
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
2
1 981
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Пара вещей:

Исправьте проблему, сняв отступ с <li> и вернув его на дочерний <a> - пространство, которое они занимают, должно быть одинаковым, чтобы выровнять наведение.

Теперь у вас другая проблема, левый угол не отображается. Исправьте это, сделав цвет фона для a и a:hover равным transparent вместо цветов - теперь <li> может просвечивать.

Наконец, я предлагаю вам полностью изменить поведение с другого изображения на то же изображение с другой позицией фона, чтобы ролловер загружался незаметно.

редактировать: css ролловер без подкачки изображений, описанный здесь

ithankyou - достаточно легко увидеть свой путь через эти вещи, если вы представите, что создаете страницу как кусочки физической бумаги, я только что сделал один из этих кусочков ацетатом :)

annakata 30.12.2008 20:24

С jQuery это очень просто! но вы даже можете попробовать масштабируемую коробку:

http://www.usabilitypost.com/2008/11/27/scalable-content-box-using-only-one-background-image/

а затем измените фоновое изображение при наведении курсора.

Или вы можете заменить li: hover и a: hover следующими:

#navigation li:hover {
        background: #009BDA url(images/tab_left_on.gif) no-repeat top left;
        cursor : pointer;
        }

#navigation li:hover a {
        background: #009BDA url(images/tab_right_on.gif) no-repeat top right;
        color: #FFF;
}

Обратите внимание, что IE6 может не работать.

определенно не будет работать в IE6 (li: hover не поддерживается), но это не всегда проблема

annakata 30.12.2008 20:31

Когда вы говорите, что решения не будут работать в IE6. Вы говорите, что проблема будет просто в том, что у меня есть сейчас, или после реализации ваших методов она будет выглядеть ужасно неправильно в IE6?

Ronnie 30.12.2008 20:35

Ни ваша страница, ни мое решение не будут работать, поскольку li: hover не поддерживается в IE6.

Mg. 30.12.2008 20:39

Хорошо я понял. Спасибо за помощь.

Ronnie 30.12.2008 20:40

но это невозможно исправить для IE6, вам придется использовать JS-решение или другой дизайн - доля рынка для этого браузера сейчас настолько мала, что мне было бы все равно, если вам не нужно

annakata 31.12.2008 14:14

Другие вопросы по теме