Есть ли какие-нибудь обновления для CSS3 или любых расширений, которые у них есть сегодня?
Уильям Энтрикен,
Ответы:
173
Добавить position:fixed. Тогда крышка фиксируется на весь экран, в том числе при прокрутке.
И добавьте, может быть, также, margin: 0; padding:0;чтобы вокруг обложки не было места.
И если он не должен фиксироваться на экране, используйте position:absolute;
У CSS Tricks также есть интересная статья о полноэкранном режиме.
Изменить:
только что наткнулся на этот ответ, поэтому я хотел добавить несколько дополнительных вещей.
Как и Дэниел Аллен Лэнгдон, упомянутый в комментарии, добавьте, top:0; left:0;чтобы быть уверенным, что обложка прилипает к самому верху и слева от экрана.
Если у вас какие-то элементы находятся в верхней части обложки (значит, она не закрывает все), то добавьте z-index. Чем выше число, тем больше уровней он охватывает.
По моему опыту, мне тоже нужно былоtop: 0; left: 0;
Вивиан Ривер
Я всегда боролся с абсолютной позицией, но использование фиксированной позиции сработало намного лучше. Спасибо
BrianLegg
2
По-видимому, есть подводный камень: если элемент position: fixed имеет предка с преобразованием css, то он будет фиксирован относительно этого предка, а не области просмотра. developer.mozilla.org/en-US/docs/Web/CSS/position#Values
Кроме того, если вы хотите покрыть весь экран, кажется, что вы хотите dim, поэтому в этом случае вам нужно использоватьposition: fixed;
#dimScreen {
width: 100%;
height: 100%;
background:rgba(255,255,255,0.5);
position: fixed;
top: 0;
left: 0;
z-index: 100; /* Just to keep it at the very top */
}
Если это так, то вам не нужно html, body {height: 100%;}
Установите HTML и тела теги heightдля 100%и удалить край вокруг тела:
html, body {
height: 100%;
margin: 0px; /* Remove the margin around the body */
}
Теперь установите positionдля вашего div значение fixed:
#dimScreen
{
width: 100%;
height: 100%;
background:rgba(255,255,255,0.5);
position: fixed;
top: 0px;
left: 0px;
z-index: 1000; /* Now the div will be on top */
}
position: absolute; top: 0; left: 0;
Ответы:
Добавить
position:fixed
. Тогда крышка фиксируется на весь экран, в том числе при прокрутке.И добавьте, может быть, также,
margin: 0; padding:0;
чтобы вокруг обложки не было места.#dimScreen { position:fixed; padding:0; margin:0; top:0; left:0; width: 100%; height: 100%; background:rgba(255,255,255,0.5); }
И если он не должен фиксироваться на экране, используйте
position:absolute;
У CSS Tricks также есть интересная статья о полноэкранном режиме.
Изменить:
только что наткнулся на этот ответ, поэтому я хотел добавить несколько дополнительных вещей.
Как и Дэниел Аллен Лэнгдон, упомянутый в комментарии, добавьте,
top:0; left:0;
чтобы быть уверенным, что обложка прилипает к самому верху и слева от экрана.Если у вас какие-то элементы находятся в верхней части обложки (значит, она не закрывает все), то добавьте
z-index
. Чем выше число, тем больше уровней он охватывает.источник
top: 0; left: 0;
Вам нужно установить родительский элемент
100%
, аhtml, body { height: 100%; }
Демо (изменено
background
для демонстрационных целей)Кроме того, если вы хотите покрыть весь экран, кажется, что вы хотите
dim
, поэтому в этом случае вам нужно использоватьposition: fixed;
#dimScreen { width: 100%; height: 100%; background:rgba(255,255,255,0.5); position: fixed; top: 0; left: 0; z-index: 100; /* Just to keep it at the very top */ }
Если это так, то вам не нужно
html, body {height: 100%;}
Демо 2
источник
position:relative
. Она не будет работать. Предложитеposition:fixed
вместо этого.Это поможет!
div { height: 100vh; width: 100vw; }
источник
Используйте
position:fixed
этот способ, чтобы ваш div оставался на всей видимой области постоянно.дайте вашему div класс
overlay
и создайте следующее правило в своем CSS.overlay{ opacity:0.8; background-color:#ccc; position:fixed; width:100%; height:100%; top:0px; left:0px; z-index:1000; }
Демо: http://www.jsfiddle.net/TtL7R/1/
источник
#dimScreen{ position:fixed; top:0px; left:0px; width:100%; height:100%; }
источник
Попробуй это
#dimScreen { width: 100%; height: 100%; background:rgba(255,255,255,0.5); position: fixed; top: 0; left: 0; }
источник
Примените css-reset, чтобы сбросить все поля и отступы, подобные этому
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126 Лицензия: нет (общественное достояние) * /
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } /* HTML5 display-role reset for older browsers */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } table { border-collapse: collapse; border-spacing: 0; }
Вы можете использовать различные css-сбросы по мере необходимости, как обычно, так и в css
html { margin: 0px; padding: 0px; } body { margin: 0px; padding: 0px; }
источник
Установите HTML и тела теги
height
для100%
и удалить край вокруг тела:html, body { height: 100%; margin: 0px; /* Remove the margin around the body */ }
Теперь установите
position
для вашего div значениеfixed
:#dimScreen { width: 100%; height: 100%; background:rgba(255,255,255,0.5); position: fixed; top: 0px; left: 0px; z-index: 1000; /* Now the div will be on top */ }
Демо: http://jsfiddle.net/F3LHW/
источник
попробуйте установить поля и отступы на 0 на теле.
<body style="margin: 0 0 0 0; padding: 0 0 0 0;">
источник