Ответ 1
Похоже, вам нужен отзывчивый веб-дизайн:
http://www.alistapart.com/articles/responsive-web-design/
Используя эти методы, вы можете создавать пользовательские правила CSS, предназначенные только для мобильных экранов.
У меня есть странный вопрос. На моей странице у меня есть основное изображение планеты в какой-то тяжелой туманности. Я настроил его так, чтобы ширина min составляла 1000px, а max - 1500px. У меня стороны исчезают, и это выглядит великолепно с большими экранами. То, что я хотел бы попытаться сделать, - это когда вы смотрите на него на мобильном устройстве, например, и сокращаете ширину в 1000 пикселей, я бы хотел, чтобы изображение произносило 1300 пикселей в ширину, с центром и 150 пикселей с каждой стороны, чтобы вы вообще не могли видеть постепенное исчезновение, но по-прежнему можно увеличить размер окна, так как ширина окна становится больше, скажем, как большой iMac, и затем исчезает, когда вы проходите эту ширину 1300 пикселей.
Моя первоначальная мысль заключалась в том, чтобы делать что-то с отрицательными полями с обеих сторон, но я не мог заставить это работать, сохраняя максимальную и микс ширины.
Это конкретный раздел кода на странице, хотя html и css доступны для всех, и вы можете просто использовать команду fine, чтобы найти этот идентификатор div для дальнейшего поиска.
<div style="position:relative;width:100%;">
<div id="help" style="
position:relative;
z-index:1;
height:100%;
min-width: 1000px;
max-width: 1500px;
margin: 0 auto;
">
<img src="http://i.stack.imgur.com/tFshX.jpg" border="0" style="width:100%;">
</div>
</div>
Любые мысли об этом, он очень близок к тому, чтобы работать так, как мне хотелось бы, просто нуждается в небольшой настройке.
Похоже, вам нужен отзывчивый веб-дизайн:
http://www.alistapart.com/articles/responsive-web-design/
Используя эти методы, вы можете создавать пользовательские правила CSS, предназначенные только для мобильных экранов.
Единицы просмотра для CSS
1vw = 1% of viewport width
1vh = 1% of viewport height
Таким образом, вам не нужно писать много разных медиа-запросов или JavaScript.
Если вы предпочитаете JS
window.innerWidth;
window.innerHeight;
Попробуйте абсолютное позиционирование:
<div style="position:relative;width:100%;">
<div id="help" style="
position:absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index:1;">
<img src="/portfolio/space_1_header.png" border="0" style="width:100%;">
</div>
</div>
Хорошая уловка - использовать внутреннюю рамку-тень и позволить ей делать все замирание вместо того, чтобы применять ее к изображению.
Вот реальная реализация того, что вы описали. Я немного переписал ваш код, используя новейшие рекомендации для актуализации. Если вы измените размеры окон вашего браузера под 1000px
, изображение влево и вправо будет обрезано с использованием отрицательных полей, и оно будет 300px
уже.
<style>
.container {
position: relative;
width: 100%;
}
.bg {
position:relative;
z-index: 1;
height: 100%;
min-width: 1000px;
max-width: 1500px;
margin: 0 auto;
}
.nebula {
width: 100%;
}
@media screen and (max-width: 1000px) {
.nebula {
width: 100%;
overflow: hidden;
margin: 0 -150px 0 -150px;
}
}
</style>
<div class="container">
<div class="bg">
<img src="http://i.stack.imgur.com/tFshX.jpg" class="nebula">
</div>
</div>