Jadual Kandungan
Absolute Position
使用
产出
带有优雅降级地使用 rem 单位
Clearfix
When-inside
方便的媒体查询
用法
长阴影
效果
Rumah hujung hadapan web html tutorial 几个实用的Sass mixins_html/css_WEB-ITnose

几个实用的Sass mixins_html/css_WEB-ITnose

Jun 24, 2016 am 11:26 AM

Mixins 是 Sass (其实很多预处理语言都有) 中用来方便地复用代码的方法,你可以简单点理解成函数,返回的是一组 CSS 属性或代码。

@mixin border-radius($radius) {  -webkit-border-radius: $radius;     -moz-border-radius: $radius;      -ms-border-radius: $radius;          border-radius: $radius;}.box { @include border-radius(10px); }
Salin selepas log masuk

上面的代码处理后,将得到下面 CSS 代码。

.box { -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px;}
Salin selepas log masuk

如果你对 Sass 不熟悉,可以先去 学习一番,让我们进入主题,介绍几个实用的 mixins。

Absolute Position

如果你的页面中经常用到 absolute 定位,你可以试试下面这个:

@mixin abs-pos ($top: auto, $right: auto, $bottom: auto, $left: auto) {  top: $top;  right: $right;  bottom: $bottom;  left: $left;  position: absolute;}
Salin selepas log masuk

使用

.abs {  @include abs-pos(10px, 10px, 5px, 15px);}
Salin selepas log masuk

产出

.abs { top: 10px; right: 10px; bottom: 5px; left: 15px; position: absolute;}
Salin selepas log masuk

带有优雅降级地使用 rem 单位

熟悉 rem 单位的前端er是否遇到过不支持的浏览器? 你如何解决的呢?下面这个 mixin 我们加上 px 单位作 fallback:

@function calculateRem($size: 16) {  $remSize: $size / 16px;  @return $remSize * 1rem;}@mixin font-size($size) {  font-size: $size;  font-size: calculateRem($size);}
Salin selepas log masuk

使用

p {  @include font-size(14px)}
Salin selepas log masuk

产出

p { font-size: 14px; font-size: 0.8rem;}
Salin selepas log masuk

Clearfix

网上有很多 clearfix 的 hacks,下面这种比较常见,兼容到 IE6以上

@mixin clearfix() {    &:before,    &:after {        content: "";        display: table;    }    &:after {        clear: both;    }}
Salin selepas log masuk

使用

.container {  @include clearfix();}
Salin selepas log masuk

When-inside

个人比较中意的 mixin,常用在修改元素在不同状态下的属性。比如我们的H5页面会给当前页面加个 active类名,我们想让当前页面中的 foo对象执行动画。

/// Make a context based selector a little more friendly/// @author Hugo Giraudel/// @param {String} $context@mixin when-inside($context) {  #{$context} & {    @content;  }}
Salin selepas log masuk

使用

.foo {  @include when-inside('.active') {    animation: fadeIn 0.3s 1s forwards;  }}
Salin selepas log masuk

产出

.active .foo { animation: fadeIn 0.3s 1s forwards; }
Salin selepas log masuk

方便的媒体查询

媒体查询再做响应式网站时候,非常方便。如果下面的代码满足不了你的需求的话,那么推荐你看之前的文章 《使用Sass之更高级的媒体查询》

$breakpoints: (  'sm': 'only screen and  (min-width: 480px)',  'md': 'only screen and ( min-width: 768px)',  'lg': 'only screen and ( min-width: 992px)') !default;@mixin respond-to($breakpoint) {  $query: map-get($breakpoints, $breakpoint);    @if not $query {    @error 'No value found for `#{$breakpoint}`. Please make sure it is defined in `$breakpoints` map.';  }  @media #{if(type-of($query) == 'string', unquote($query), inspect($query))} {    @content;  }}
Salin selepas log masuk

用法

.foo {  @include respond-to('sm') {    padding-left: 20px;    padding-right: 20px;  }}
Salin selepas log masuk

产出

@media only screen and (min-width: 480px) {  .foo { padding-left: 20px; padding-right: 20px;  } }
Salin selepas log masuk

长阴影

这个mixin可能不常用,但是效果真的很酷~

@function makelongshadow($color) {  $val: 0px 0px $color;  @for $i from 1 through 200 {    $val: #{$val}, #{$i}px #{$i}px #{$color};  }  @return $val;}@mixin longshadow($color) {  text-shadow: makelongshadow($color);}
Salin selepas log masuk

使用

h1 {  @include longshadow(darken($color, 5% ));}
Salin selepas log masuk

效果

See the Pen Long Shadow Sass Mixinby Helkyle ( @HelKyle) on CodePen.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Apakah amalan terbaik untuk keserasian penyemak imbas dalam HTML5? Mar 17, 2025 pm 12:20 PM

Artikel membincangkan amalan terbaik untuk memastikan keserasian silang pelayar HTML5, memberi tumpuan kepada pengesanan ciri, peningkatan progresif, dan kaedah ujian.

Apakah tujuan & lt; kemajuan & gt; unsur? Apakah tujuan & lt; kemajuan & gt; unsur? Mar 21, 2025 pm 12:34 PM

Artikel ini membincangkan html & lt; kemajuan & gt; elemen, tujuan, gaya, dan perbezaan dari & lt; meter & gt; elemen. Tumpuan utama adalah menggunakan & lt; kemajuan & gt; untuk menyelesaikan tugas dan & lt; meter & gt; untuk stati

Apakah tujuan & lt; DATALIST & GT; unsur? Apakah tujuan & lt; DATALIST & GT; unsur? Mar 21, 2025 pm 12:33 PM

Artikel ini membincangkan html & lt; datalist & gt; elemen, yang meningkatkan bentuk dengan menyediakan cadangan autokomplete, meningkatkan pengalaman pengguna dan mengurangkan kesilapan. Kira -kira: 159

Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Bagaimana saya menggunakan atribut pengesahan borang html5 untuk mengesahkan input pengguna? Mar 17, 2025 pm 12:27 PM

Artikel ini membincangkan menggunakan atribut pengesahan bentuk HTML5 seperti had, corak, min, max, dan panjang untuk mengesahkan input pengguna secara langsung dalam penyemak imbas.

Apakah tujuan & lt; meter & gt; unsur? Apakah tujuan & lt; meter & gt; unsur? Mar 21, 2025 pm 12:35 PM

Artikel ini membincangkan html & lt; meter & gt; elemen, digunakan untuk memaparkan nilai skalar atau pecahan dalam julat, dan aplikasi umum dalam pembangunan web. Ia membezakan & lt; meter & gt; dari & lt; kemajuan & gt; dan Ex

Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Apakah tag meta viewport? Mengapa penting untuk reka bentuk responsif? Mar 20, 2025 pm 05:56 PM

Artikel ini membincangkan tag Meta Viewport, penting untuk reka bentuk web responsif pada peranti mudah alih. Ia menerangkan bagaimana penggunaan yang betul memastikan skala kandungan yang optimum dan interaksi pengguna, sementara penyalahgunaan boleh membawa kepada isu reka bentuk dan kebolehaksesan.

Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Apakah tujuan & lt; iframe & gt; Tag? Apakah pertimbangan keselamatan semasa menggunakannya? Mar 20, 2025 pm 06:05 PM

Artikel ini membincangkan & lt; iframe & gt; Tujuan TAG dalam membenamkan kandungan luaran ke dalam halaman web, kegunaan umum, risiko keselamatan, dan alternatif seperti tag objek dan API.

Adakah HTML mudah belajar untuk pemula? Adakah HTML mudah belajar untuk pemula? Apr 07, 2025 am 12:11 AM

HTML sesuai untuk pemula kerana mudah dan mudah dipelajari dan dapat melihat hasilnya dengan cepat. 1) Keluk pembelajaran HTML adalah lancar dan mudah dimulakan. 2) Hanya menguasai tag asas untuk mula membuat laman web. 3) Fleksibiliti yang tinggi dan boleh digunakan dalam kombinasi dengan CSS dan JavaScript. 4) Sumber pembelajaran yang kaya dan alat moden menyokong proses pembelajaran.

See all articles