Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Спасибо за комментарий! Я думал над тем, чтобы сделать возможность прописывать нужный экран, типа width, (desktop: 100%, tablet: 50% и тд. При необходимости. Но в таком случае кода будет больше. Хотя выглядеть должно понятно
На данный момент вот так:
include media(display, (‘’, none, block)) т.е. Просто пропускаем экран который не нужен, в том числе и базовое значение.
@media screen с нужным разрешением, а когда 5 разных разрешений, поиски затягиваются, и ошибки с нужным экраном не редкость. Тут так же легко ошибиться, но для исправления ошибки нужно приложить минимум усилий. Это ответ насчет смысла данного метода.body {
font-size: 1em;
@media (max-width: 1024px) {
font-size: 0.8em;
}
}
.class{
width: 100%;
height: 100%;
font-size: 12px;
color: black;
.class-inner{
display: inline-block;
height: 500px;
background: red;
font-size: 14px;
a{
text-decoration: none;
}
}
@media screen only (max-width: 1024px){
width: 50%;
height: 300px;
font-size: 10px;
.class-inner{
height: 300px;
background: black;
font-size: 18px;
a{
text-decoration: underline;
}
}
}
@media screen only (max-width: 880px){
width: 25%;
height: 200px;
font-size: 14px;
color: gray;
.class-inner{
height: 200px;
background: yelllow;
font-size: 20px;
a{
text-decoration: none;
}
}
}
@media screen only (max-width: 640px){
width: 20%;
height: 100px;
font-size: 12px;
color: white;
.class-inner{
display: none;
}
}
}@media screen или повторных элементов, или правил. просто для сравнения тот же код:.class{
@include media(width, (100%, 50%, 25%, 20%));
@include media(height, (100%, 300px, 200px, 100px));
@include media(font-size, (12px, 10px, 14px, 12px));
@include media(color, (black, '', gray, white));
.class-inner{
@include media(display, (inline-block, '', '', none));
@include media(height, (500px, 300px, 200px));
@include media(background, (red , black , yellow));
@include media(font-size, (14px, 18px , 20px));
a{
@include media(text-decoration, (none, underline, none));
}
}width: 100px;
height: 200px;
background: red;
border: 2px solid green;
color: white;
font-size: 23px;
$breakpoint--desktop: 1024px;
$breakpoint--tablet-wide: 880px;
$breakpoint--tablet: 640px;
$breakpoint--mobile: 320px;
.b-class {
width: 100%;
height: 100%;
color: black;
font-size: 12px;
@media (max-width: $breakpoint--tablet - 1) {
width: 20%;
height: 100px;
color: white;
font-size: 12px;
}
@media (max-width: $breakpoint--tablet-wide - 1) {
width: 25%;
height: 200px;
color: gray;
font-size: 14px;
}
@media (max-width: $breakpoint--desktop - 1) {
width: 50%;
height: 300px;
font-size: 10px;
}
}
.b-class__inner {
display: inline-block;
height: 500px;
background: red;
font-size: 14px;
`
@media (max-width: $breakpoint--tablet - 1) {
display: none;
}
@media (max-width: $breakpoint--tablet-wide - 1) {
height: 200px;
background: yelllow;
font-size: 20px;
}
@media (max-width: $breakpoint--desktop - 1) {
height: 300px;
background: black;
font-size: 18px;
}
}
.b-class__link {
text-decoration: none;
@media (max-width: $breakpoint--tablet-wide - 1) {
// Вот так вот в этой структуре сразу видно что здесь, например,
// это свойство избыточное. Это к вопросу о группировке всех
// media, относящихся к конкретному классу, внутри этого класса
text-decoration: none;
}
@media (max-width: $breakpoint--desktop - 1) {
text-decoration: underline;
}
}
@mixin xs {
@media (max-width: $grid-xs-breakpoint - 1) {
@content
}
}
.b-class {
color: blue;
@include xs {
color: red;
}
}
Шел 2018 год… Люди так и не освоили тарс или фрактал…
Fractal is a tool to help you build and document web component libraries, and then integrate them into your projects.
Адаптивная верстка с помощью SCSS и Gulp