All streams
Search
Write a publication
Pull to refresh
13
0
Send message
Давайте еще воспользуемся npm-хуками и добавим postbuild скрипт, который будет копировать README.md в папку со сборкой. Так мы никогда не забудем обновить описание пакета на NPM.

Почему бы не добавить README.md и папку со сборкой в секцию files в package.json?


И еще вопрос: кто или что в итоге вызывает npm-скрипт release? По идее, он должен вызываться при merge в master-ветку?

Зачем здесь вообще использовать препроцессор? Просто пишем:


[data-theme-style='normal'] {
  --color: hsl(var(--theme-color), 15%, 44%);
  --background-color: hsl(var(--theme-color), 30%, 10%);
}

Так избавляемся от лишней вложенности, повышения специфичности, трудного чтения препроцессорного костыльного (~'...') кода. А отвязка от html в селекторе дает возможность оформить разные элементы на странице разными темами, например, секции на лендинге.


<section data-theme-style="normal"><!-- content --></section>
<section data-theme-style="dark"><!-- content --></section>

А если несколько рядов?

В кругу тех, кто занимается версткой, «переполнение» вполне себе нормальный и часто используемый термин.

В примерах автора это не так очевидно, но данная техника позволяет добиться желаемого. Выставите значение переменной --container-width, например в 1200px, и посмотрите, как это работает — https://jsfiddle.net/z86wt2uh/

Это не совсем так. Если размер экрана будет меньше, чем заданная ширина контейнера, то padding'ы станут равными нулю, так как выражение внутри calc(50% - width / 2) будет отрицательным.


Но тут всплывает еще одна проблема — нам нужны какие-то минимальные зазоры, чтобы контент не прилипал к краям экрана. Тут могла бы помочь функция max, но она пока поддерживается только в новых Safari. Минимальный padding можно эмулировать с помощью прозрачного border, но в таком случае изначально элегантное решение обрастает костылями.


Набросал пример — https://jsfiddle.net/6kqa4t7n/.

calc(50vw + 590px)

Тут нужен знак "минус"

Количество элементов можно уменьшить, если смешать класcы brif-wrapper и container на одном DOM-узле. А так представленная техника рассматривалась достаточно давно в книге CSS Secrets за авторством Lea Verou.


P.S.: почему используете дробные пиксели в медиа запросах, например (min-width: 1199.98px)?

Лучше использовать такой трюк:
<link rel="stylesheet" type="text/css" href="<?php echo get_template_directory_uri(); ?>/assets/styles/style.css?<?php echo time(); ?>" />

Наверно, хотели написать filemtime() вместо time()?
Управление шкалой типов

В контексте статьи type это «шрифт», а не «тип».

Вот мой простейший конфиг:


let browserSync = require('browser-sync').create();

browserSync.init({
    proxy: 'http://site.com',
    serveStatic: ['static'],
    files: ['static/**/*.*'],
    rewriteRules: [
        {
            match: /<\/head>/i,
            fn: (req, res, match) => `<link rel="stylesheet" href="/custom.css" />`
        },
        {
            match: /<\/body>/i,
            fn: (req, res, match) => `<script async src="/scripts.js"></script>`
        }
    ]
});

В serveStatic указываем из какой папки брать файлы. В rewriteRules пишем где в html и какие файлы вставлять.

Для подобных целей использую browser-sync. Его можно использовать для внешнего сайта как прокси и инжектить стили и скрипты из локальной папки.

Пример с чекбоксами на MacOS в Chrome 72:
image
Такой способ стилизации не лишен недостатков. Предположим, в компоненте Dialog уже были стилизованы компоненты Button подобным образом:
.dialog :global(button) { /* ... например, имеют синий цвет */ }

Что преобразуется с помощью Svelte к виду:
.dialog.svelte-8d16lv button { /* ... */ }

И поскольку SubmitButton тоже находится внутри Dialog начнутся коллизии стилей:
.submit.svelte-138xsye button { /* ... */ }
.dialog.svelte-8d16lv button { /* ... */ }
Firefox по каким-то неведомым причинам отказывается применять свойства к метке при фокусе на input[type=file].

Если учитывать относительно современные версии Firefox, то баг можно вылечить с помощью css-псевдокласса :focus-within.


Сам баг: https://bugzilla.mozilla.org/show_bug.cgi?id=1430196

Только ни пробелом, ни enter'ом на такой label не нажать. Только мышкой.

Иногда вы переводите слишком буквально.


Техники сохранения времени CSS.

Это вообще что такое? Наверно имелось ввиду "экономящие время" или "простые".

Как ни странно, свойство -webkit-background-clip работает в последних Edge и Firefox

жаль, что переносы Хром не поддерживает

Стоит отметить, что Chrome не поддерживает переносы только на Windows. На Mac пример с hyphens отображается корректно.

Information

Rating
6,268-th
Registered
Activity