![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/magento2-base/lib/web/css/docs/source/ |
// /** // * Copyright © Magento, Inc. All rights reserved. // * See COPYING.txt for license details. // */ // # Responsive // Magento UI library provides a strong approach for working with media queries. It`s based on recursive call of <span style="white-space: nowrap"><code>.media-width()</code></span> mixin defined anywhere in project but invoked in one place in <span style="white-space: nowrap"><code>lib/web/css/source/lib/_responsive.less</code></span>. That's why in the resulting <code>styles.css</code> we have every media query only once with all the rules there, not a multiple calls for the same query. // // To see the media queries work resize window to understand which breakpoint is applied. // ``` // <div class="example-responsive-block"> // are applied. // </div> // ``` .example-responsive-block { padding: 10px; } .media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__m) { .example-responsive-block { background: #ffc; } .example-responsive-block:before { content: 'Mobile styles '; font-weight: bold; } } .media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__m) { .example-responsive-block { background: #ccf; } .example-responsive-block:before { content: 'Desktop styles '; font-weight: bold; } } // # Responsive mixins usage // // For grouping style rules in certain media queries .media-width() mixin used. // ```css // .media-width(<@extremum>, <@break>); // ``` // <span style="white-space: nowrap"><code>@extremum: max|min</code></span> - sets whether to use **min-width** or **max-width** in media query condition<br /> // <span style="white-space: nowrap"><code>@break: value</code></span> - sets the value of breakpoint to compare with in media query condition.<br /> // For example // ```css // .media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__s) { // your styles // } // ``` // It will be complied to // ```css // @media only screen and (max-width: 640px) { // your styles // } // ``` // // // # Media query style groups separation variables // // <code>@media-common: true|false</code> - sets whether to output common styles. // For common styles every time you want to add some styles you should use // ```css // & when (@media-common = true) { // your styles // } // ``` // // <code>@media-target: all|desktop|mobile</code> - Sets target device for styles output // ```css // & when (@media-target = 'mobile'), // (@media-target = 'all') { // @media only screen and (max-width: (@screen__xs - 1)) { // .media-width('max', @screen__xs); // } // } // ``` // // ## Gathering // // Everything that you include in collector mixins above will go in place where they declared. // As example all // ```css // .media-width(@extremum, @break) { // your code // } // ``` // Will go to // ```css // .media-width(@extremum, @break)); // ``` // By default you can find it <code>_responsive.less</code> file in li // // // # Responsive breakpoints // In Magento UI library there are predefined variables for breakpoints. // ```css // @screen__xxs: 320px; // @screen__xs: 480px; // @screen__s: 640px; // @screen__m: 768px; // @screen__l: 1024px; // @screen__xl: 1440px; // ``` //