2 части «обоев» CSS, которые изменяются в размере для браузера

Мой дизайнер считает, что это невозможно, однако мне это кажется возможным. (Хотя у меня ограниченный опыт CSS). Тем не менее, он также сказал, что фон не может быть исправлен, и stackoverflow доказал свою неправоту в прошлом; поэтому я подвергаю сомнению его знания.

JQuery можно использовать, если это не может быть сделано в чистом CSS. Однако это кажется возможным для меня. (Хотя у меня ограниченный опыт CSS). Тем не менее, он также сказал, что фон не может быть исправлен, и stackoverflow доказал свою неправоту в прошлом; поэтому я подвергаю сомнению его знания.

JQuery можно использовать, если это не может быть сделано в чистом CSS. Однако это кажется возможным для меня. (Хотя у меня ограниченный опыт CSS). Тем не менее, он также сказал, что фон не может быть исправлен, и stackoverflow доказал свою неправоту в прошлом; поэтому я подвергаю сомнению его знания.

JQuery можно использовать, если это не может быть сделано в чистом CSS. alt text

Верхняя половина будет иметь градиент, который будет полностью гибким, чтобы наклоняться влево, вправо, вверх, вниз без особых искажений. Нижняя половина - это изображение, которое идеально сделано для разрешения 1280 x 1024 (так как это самое популярное разрешение экрана браузера). Затем, в зависимости от необходимых требований, он будет делать наброски и наклоняться до нужного размера. Все еще позволяет видеть все изображение.

Соотношение между верхней и нижней половинами всегда составляет 50%, 50% независимо от разрешения браузера.

Мне также хотелось бы, чтобы верхняя и нижняя части были зафиксированы.

В идеальном мире (без IE), я хотел бы сделать это с градиентами css3 и несколькими фонами в 1 DIV. Однако, поскольку IE9 еще не выпущен, я думаю, что лучший способ приблизиться к нему - это 2 деления в контейнере DIV и использование повторяющегося фона PNG для верхнего деления.

Следует отметить, что я собираюсь использовать css3pie.com, чтобы разрешить CSS3 для IE6-8 (но я не хочу на это полагаться, если не доказано на 100%)

Возможно ли это только с помощью CSS? Как бы вы это сделали?

Если это невозможно с помощью только CSS, могу ли я получить JavaScript / JQuery для помощи? Я думаю, что база 1280 x 1024 - не лучшая идея, потому что у нее странное радио.

Редактировать 1

О да, у меня тоже есть WIP: http://meyers.ipalaces.org/extra/

Выглядит хорошо в 1280 x 1024 ... теперь он просто получает полное изменение размера верхнего DIV, равное 50%, поэтому изображение составляет 50%.

Я все еще хотел бы, чтобы ВСЕ воды было видно, потому что мне нравится вид камней внизу. Тем не менее, я открыт для альтернативных идей, которые не достигают того, чего я хочу на 100%, но приближаются.

Редактировать 2

Как насчет использования верхнего градиента в качестве истинного фона CSS2, а затем просто поставить внизу, чтобы изменить размер? Возможно, это позволит использовать CSS2. Я ссылаюсь на некоторые приемы обхода здесь: Отдельный список

Редактировать 3

Я все еще ищу результаты, которые работают на IE6 и также не вызывают отставание Internet Explorer. Я устанавливаю награду в 50, чтобы привлечь больше внимания.

10
задан ParoX 6 September 2010 в 16:02
поделиться

1 ответ

Мне удалось найти 2 способа сделать это:

Способ 1

Нажмите здесь для просмотра демонстрации

Использование CSS3 размер фона I смог установить 2 элемента div друг над другом с min-height: 50%, а затем с помощью background-size: 100% 50% они успешно выполнить то, что я ищу.

Этот метод был просто проверкой концепции, так как IE6-8 не поддерживает background-size, я не стремился идеально настроить этот метод. В настоящее время при прокрутке происходит сбой, несмотря на наличие background-attachment: fixed;. Я отказался от этого метода CSS3, чтобы найти лучшие методы с использованием трюков CSS...


Метод 2

Нажмите здесь для просмотра демонстрации

Следуя примерам, которые я нашел в A List Apart (Статья | Пример1 | Пример2).Я использовал технику № 2 из примера 1 и смог эмулировать то, что хотел, используя только CSS2. (Я не уверен на 100%, как и почему это работает, но это работает)

Потому что я также собираюсь использовать CSS3PIE , чтобы дать IE6-8 CSS3 возможность делать линейные градиенты, border-radius и box-shadow; Я решил использовать линейный градиент вместо изображения для верхнего фона.

Проблемы

  • Метод CSS2 из методики №2, пример 1 не работает с IE6 должным образом
  • Создает чрезмерное отставание во всех современных браузерах Internet Explorer
10
ответ дан 3 December 2019 в 23:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: