aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/css/css_positioning
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:42:52 -0500
commit074785cea106179cb3305637055ab0a009ca74f2 (patch)
treee6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/ru/web/css/css_positioning
parentda78a9e329e272dedb2400b79a3bdeebff387d47 (diff)
downloadtranslated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz
translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2
translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip
initial commit
Diffstat (limited to 'files/ru/web/css/css_positioning')
-rw-r--r--files/ru/web/css/css_positioning/index.html115
-rw-r--r--files/ru/web/css/css_positioning/understanding_z_index/the_stacking_context/index.html283
2 files changed, 398 insertions, 0 deletions
diff --git a/files/ru/web/css/css_positioning/index.html b/files/ru/web/css/css_positioning/index.html
new file mode 100644
index 0000000000..43570e40cd
--- /dev/null
+++ b/files/ru/web/css/css_positioning/index.html
@@ -0,0 +1,115 @@
+---
+title: CSS Positioning
+slug: Web/CSS/CSS_Positioning
+tags:
+ - CSS
+ - CSS Positioning
+ - CSS Reference
+ - NeedsTranslation
+ - Overview
+ - TopicStub
+translation_of: Web/CSS/CSS_Positioning
+---
+<p>{{CSSRef}}</p>
+
+<p><strong>CSS Positioning</strong> is a module of CSS that defines how to absolutely and relavitely position elements on the page.</p>
+
+<h2 id="Reference">Reference</h2>
+
+<h3 id="CSS_Properties">CSS Properties</h3>
+
+<div class="index">
+<ul>
+ <li>{{cssxref("bottom")}}</li>
+ <li>{{cssxref("clear")}}</li>
+ <li>{{cssxref("display")}}</li>
+ <li>{{cssxref("float")}}</li>
+ <li>{{cssxref("left")}}</li>
+ <li>{{cssxref("position")}}</li>
+ <li>{{cssxref("right")}}</li>
+ <li>{{cssxref("top")}}</li>
+ <li>{{cssxref("visibility")}}</li>
+ <li>{{cssxref("z-index")}}</li>
+</ul>
+</div>
+
+<h2 id="Guides">Guides</h2>
+
+<dl>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index">Understanding CSS z-index</a></dt>
+ <dd>Presents the notion of stacking context and explain how z-ordering works, with several examples.</dd>
+</dl>
+
+<h2 id="Specifications">Specifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{ SpecName('CSS3 Positioning') }}</td>
+ <td>{{ Spec2('CSS3 Positioning') }}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{ SpecName('CSS2.1', 'visuren.html') }}</td>
+ <td>{{ Spec2('CSS2.1') }}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility">Browser compatibility</h2>
+
+<p>{{CompatibilityTable}}</p>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari (WebKit)</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>1.0</td>
+ <td>{{ CompatGeckoDesktop("1") }}</td>
+ <td>5.0</td>
+ <td>6.0</td>
+ <td>1.0 (85)</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>1.0</td>
+ <td>{{ CompatGeckoMobile("1") }}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
diff --git a/files/ru/web/css/css_positioning/understanding_z_index/the_stacking_context/index.html b/files/ru/web/css/css_positioning/understanding_z_index/the_stacking_context/index.html
new file mode 100644
index 0000000000..8a76b44318
--- /dev/null
+++ b/files/ru/web/css/css_positioning/understanding_z_index/the_stacking_context/index.html
@@ -0,0 +1,283 @@
+---
+title: Контекст наложения (stacking context)
+slug: Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context
+translation_of: Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context
+---
+<p>Контекст наложения (stacking context) это концепция трехмерного расположения HTML элементов вдоль оси Z по отношению к пользователю, находящемуся перед экраном.  HTML элементы занимают это место по порядку, основанному на атрибутах элемента.</p>
+
+<p>« <a href="/en-US/docs/CSS" title="CSS">CSS</a> « <a href="/en-US/docs/CSS/Understanding_z-index" title="Understanding CSS z-index">Understanding CSS z-index</a></p>
+
+<h2 id="Контекст_наложения">Контекст наложения</h2>
+
+<p> </p>
+
+<p>В предыдущем примере  <a href="/en-US/docs/CSS/Understanding_z-index/Adding_z-index" title="Adding z-index">Добавляем z-index</a>, порядок отображения определенных DIVs элементов зависел от их z-index значения. Это возникает благодаря тому, что у этих элементов есть специальные свойства, которые заставляют их формировать контекст наполнения ( <em>stacking context )</em>.</p>
+
+<p>Контекст может формироваться в любом месте документа, любым элементом, у которого выполняется одно из следующих условий: </p>
+
+<ul>
+ <li>является корневым элементом (HTML),</li>
+ <li>позиционирован абсолютно (position:absolute) или относительно (position:relative) с z-index значением отличным от "auto",</li>
+ <li>flex элемент с z-index отличным от  "auto", чей родительский элемент имеет свойство display: flex|inline-flex,</li>
+ <li>элементы с  {{cssxref("opacity")}} меньше чем 1. (См. <a href="http://www.w3.org/TR/css3-color/#transparency" title="http://www.w3.org/TR/css3-color/#transparency">the specification for opacity</a>),</li>
+ <li>элементы с  {{cssxref("transform")}} отличным от "none",</li>
+ <li>элементы с {{cssxref("mix-blend-mode")}} значением отличным от "normal",</li>
+ <li>элементы с {{cssxref("filter")}} значением отличным от "none",</li>
+ <li>элементы с {{cssxref("isolation")}} установленным в  "isolate",</li>
+ <li><code>position: fixed</code></li>
+ <li>если мы указываем элементу атрибут  <code>{{cssxref("will-change")}}</code> при этом не обязательно присваивать ему значения (См. <a href="http://dev.opera.com/articles/css-will-change-property/">this post</a>)</li>
+ <li>элементы с {{cssxref("-webkit-overflow-scrolling")}} установленым в "touch"</li>
+</ul>
+
+<p>Внутри контекста наложения дочерние элементы расположены в соответствии с правилами, описанными ранее. Важно заметить, что значения свойства z-index для дочерних элементов формирующих контекст наложения, будут учитываться только в рамках родительского элемента. Контекст наложения обрабатываются атомарно, как единое целое в контексте наложения родителя.</p>
+
+<p>Суммируем:</p>
+
+<ul>
+ <li>Позиционирование и присваивание HTML элементам свойства z-index создает контекст наложения, (так же как и присваивание элементу opacity меньше 1).</li>
+ <li>Контексты наложения могут быть частью других контекстов наложения и вместе создавать иерархию контекстов наложения. </li>
+ <li>Каждый контекст наложения абсолютно независим от своего соседа: только подчиненные элементы учитываются при обработке контекста наложения.</li>
+</ul>
+
+<div class="note"><strong>Note:</strong> Иерархия контекстов наложения является подмножеством иерархии HTML элементов, потому что только определенные элементы создают контексты наложения. Можно сказать, что элементы, которые не создают собственного контекста наложения, используют контекст наложения родителя.</div>
+
+<h2 id="Пример"><strong>Пример</strong></h2>
+
+<p><img alt="Example of stacking rules modified using z-index" src="/@api/deki/files/913/=Understanding_zindex_04.png"></p>
+
+<p>В примере каждый позиционированный элемент создает свой контекст наложения, так как имеет свойства position и z-index. Иерархия контекстов наложения выглядит следующим образом:</p>
+
+<ul>
+ <li>Root
+ <ul>
+ <li>DIV #1</li>
+ <li>DIV #2</li>
+ <li>DIV #3
+ <ul>
+ <li>DIV #4</li>
+ <li>DIV #5</li>
+ <li>DIV #6</li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+</ul>
+
+<p>Важно отметить, что DIV #4, DIV #5 и DIV #6 являются дочерними для DIV #3, поэтому они полностью располагаются в DIV#3. Once stacking and rendering within DIV #3 is completed, the whole DIV #3 element is passed for stacking in the root element with respect to its sibling's DIV.</p>
+
+<div class="note">
+<p><strong>Notes:</strong></p>
+
+<ul>
+ <li>DIV #4 отрисовывается под DIV #1, потому что z-index (5) DIV #1 действителен внутри контекта наложения корневого элемента, в то время как z-index (6) DIV #4 действителен внутри контекста наложения DIV #3. Поэтому,  DIV #4 находиться ниже DIV #1, потому что DIV #4 принадлежит DIV #3, который в свою очередь имеет меньший z-index(по сравнению с .DIV #1).</li>
+ <li>По этим же причинам DIV #2 (z-index 2) отрисовывается под DIV#5 (z-index 1), так как DIV #5 принадлежит DIV #3, чей z-index больше( чем z-index DIV #2).</li>
+ <li>У DIV #3 есть свойство z-index 4, но это значение независимо от z-index'ов DIV #4, DIV #5 и DIV #6, потому что принадлежат они разным контекстам наложения.</li>
+ <li>An easy way to figure out the <em>rendering order</em> of stacked elements along the Z axis is to think of it as a "version number" of sorts, where child elements are minor version numbers underneath their parent's major version numbers. This way we can easily see how an element with a z-index of 1 (DIV #5) is stacked above an element with a z-index of 2 (DIV #2), and how an element with a z-index of 6 (DIV #4) is stacked below an element with a z-index of 5 (DIV #1). In our example (sorted according to the final rendering order):
+ <ul>
+ <li>Root
+ <ul>
+ <li>DIV #2 - z-index is 2</li>
+ <li>DIV #3 - z-index is 4
+ <ul>
+ <li>DIV #5 - z-index is 1, stacked under an element with a z-index of 4, which results in a rendering order of 4.1</li>
+ <li>DIV #6 - z-index is 3, stacked under an element with a z-index of 4, which results in a rendering order of 4.3</li>
+ <li>DIV #4 - z-index is 6, stacked under an element with a z-index of 4, which results in a rendering order of 4.6</li>
+ </ul>
+ </li>
+ <li>DIV #1 - z-index is 5</li>
+ </ul>
+ </li>
+ </ul>
+ </li>
+</ul>
+</div>
+
+<h2 id="Example_Source_Code"><strong>Example Source Code</strong></h2>
+
+<pre class="brush: html">&lt;?xml version="1.0" encoding="utf-8"?&gt;
+&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
+
+&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"&gt;
+ &lt;head&gt;
+
+ &lt;title&gt;Understanding CSS z-index: The Stacking Context: Example Source&lt;/title&gt;
+
+ &lt;style type="text/css"&gt;
+ * {
+ margin: 0;
+ }
+ html {
+ padding: 20px;
+ font: 12px/20px Arial, sans-serif;
+ }
+ div {
+ opacity: 0.7;
+ position: relative;
+ }
+ h1 {
+ font: inherit;
+ font-weight: bold;
+ }
+ #div1, #div2 {
+ border: 1px dashed #696;
+ padding: 10px;
+ background-color: #cfc;
+ }
+ #div1 {
+ z-index: 5;
+ margin-bottom: 190px;
+ }
+ #div2 {
+ z-index: 2;
+ }
+ #div3 {
+ z-index: 4;
+ opacity: 1;
+ position: absolute;
+ top: 40px;
+ left: 180px;
+ width: 330px;
+ border: 1px dashed #900;
+ background-color: #fdd;
+ padding: 40px 20px 20px;
+ }
+ #div4, #div5 {
+ border: 1px dashed #996;
+ background-color: #ffc;
+ }
+ #div4 {
+ z-index: 6;
+ margin-bottom: 15px;
+ padding: 25px 10px 5px;
+ }
+ #div5 {
+ z-index: 1;
+ margin-top: 15px;
+ padding: 5px 10px;
+ }
+ #div6 {
+ z-index: 3;
+ position: absolute;
+ top: 20px;
+ left: 180px;
+ width: 150px;
+ height: 125px;
+ border: 1px dashed #009;
+ padding-top: 125px;
+ background-color: #ddf;
+ text-align: center;
+ }
+ &lt;/style&gt;
+
+ &lt;/head&gt;
+ &lt;body&gt;
+
+ &lt;div id="div1"&gt;
+ &lt;h1&gt;Division Element #1&lt;/h1&gt;
+ &lt;code&gt;position: relative;&lt;br/&gt;
+ z-index: 5;&lt;/code&gt;
+ &lt;/div&gt;
+
+ &lt;div id="div2"&gt;
+ &lt;h1&gt;Division Element #2&lt;/h1&gt;
+ &lt;code&gt;position: relative;&lt;br/&gt;
+ z-index: 2;&lt;/code&gt;
+ &lt;/div&gt;
+
+ &lt;div id="div3"&gt;
+
+ &lt;div id="div4"&gt;
+ &lt;h1&gt;Division Element #4&lt;/h1&gt;
+ &lt;code&gt;position: relative;&lt;br/&gt;
+ z-index: 6;&lt;/code&gt;
+ &lt;/div&gt;
+
+ &lt;h1&gt;Division Element #3&lt;/h1&gt;
+ &lt;code&gt;position: absolute;&lt;br/&gt;
+ z-index: 4;&lt;/code&gt;
+
+ &lt;div id="div5"&gt;
+ &lt;h1&gt;Division Element #5&lt;/h1&gt;
+ &lt;code&gt;position: relative;&lt;br/&gt;
+ z-index: 1;&lt;/code&gt;
+ &lt;/div&gt;
+
+ &lt;div id="div6"&gt;
+ &lt;h1&gt;Division Element #6&lt;/h1&gt;
+ &lt;code&gt;position: absolute;&lt;br/&gt;
+ z-index: 3;&lt;/code&gt;
+ &lt;/div&gt;
+
+ &lt;/div&gt;
+
+ &lt;/body&gt;
+&lt;/html&gt;
+</pre>
+
+<h3 id="Division_Element_.231" name="Division_Element_.231">Division Element #1</h3>
+
+<pre class="brush:css">position: relative;
+z-index: 5;
+</pre>
+
+<div id="div2">
+<h3 id="Division_Element_.232" name="Division_Element_.232">Division Element #2</h3>
+
+<pre class="brush:css">position: relative;
+z-index: 2;
+</pre>
+</div>
+
+<div id="div3">
+<h3 id="Division_Element_.233" name="Division_Element_.233">Division Element #3</h3>
+
+<pre class="brush:css">position: absolute;
+z-index: 4;
+</pre>
+</div>
+
+<div id="div4">
+<h3 id="Division_Element_.234" name="Division_Element_.234">Division Element #4</h3>
+
+<pre class="brush:css">position: relative;
+z-index: 6;
+</pre>
+</div>
+
+<div id="div5">
+<h3 id="Division_Element_.235" name="Division_Element_.235">Division Element #5</h3>
+
+<pre class="brush:css">position: relative;
+z-index: 1;
+</pre>
+</div>
+
+<div id="div6">
+<h3 id="Division_Element_.236" name="Division_Element_.236">Division Element #6</h3>
+
+<pre class="brush:css">position: absolute;
+z-index: 3;
+</pre>
+</div>
+
+<h2 id="Смотрите_также">Смотрите также</h2>
+
+<ul>
+ <li><a href="/en-US/docs/CSS/Understanding_z-index/Stacking_without_z-index" title="CSS/Understanding_z-index/Stacking_without_z-index">Stacking without z-index</a> : Default stacking rules</li>
+ <li><a href="/en-US/docs/CSS/Understanding_z-index/Stacking_and_float" title="CSS/Understanding_z-index/Stacking_and_float">Stacking and float</a> : How floating elements are handled</li>
+ <li><a href="/en-US/docs/CSS/Understanding_z-index/Adding_z-index" title="CSS/Understanding_z-index/Adding_z-index">Adding z-index</a> : Using z-index to change default stacking</li>
+ <li><a href="/en-US/docs/CSS/Understanding_z-index/Stacking_context_example_1" title="CSS/Understanding_z-index/Stacking_context_example_1">Stacking context example 1</a> : 2-level HTML hierarchy, z-index on the last level</li>
+ <li><a href="/en-US/docs/CSS/Understanding_z-index/Stacking_context_example_2" title="CSS/Understanding_z-index/Stacking_context_example_2">Stacking context example 2</a> : 2-level HTML hierarchy, z-index on all levels</li>
+ <li><a href="/en-US/docs/CSS/Understanding_z-index/Stacking_context_example_3" title="CSS/Understanding_z-index/Stacking_context_example_3">Stacking context example 3</a> : 3-level HTML hierarchy, z-index on the second level</li>
+</ul>
+
+<div class="originaldocinfo">
+<h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
+
+<ul>
+ <li>Author(s): Paolo Lombardi</li>
+ <li>This article is the english translation of an article I wrote in italian for <a href="http://www.yappy.it">YappY</a>. I grant the right to share all the content under <a href="http://creativecommons.org/licenses/by-sa/2.0/">Creative Commons: Attribution-Sharealike license</a></li>
+ <li>Last Updated Date: July 9th, 2005</li>
+</ul>
+</div>