几个实用的Sass mixins_html/css_WEB-ITnose
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); }
上面的代码处理后,将得到下面 CSS 代码。
.box { -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; border-radius: 10px;}
如果你对 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;}
使用
.abs { @include abs-pos(10px, 10px, 5px, 15px);}
产出
.abs { top: 10px; right: 10px; bottom: 5px; left: 15px; position: absolute;}
带有优雅降级地使用 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);}
使用
p { @include font-size(14px)}
产出
p { font-size: 14px; font-size: 0.8rem;}
Clearfix
网上有很多 clearfix 的 hacks,下面这种比较常见,兼容到 IE6以上
@mixin clearfix() { &:before, &:after { content: ""; display: table; } &:after { clear: both; }}
使用
.container { @include clearfix();}
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; }}
使用
.foo { @include when-inside('.active') { animation: fadeIn 0.3s 1s forwards; }}
产出
.active .foo { animation: fadeIn 0.3s 1s forwards; }
方便的媒体查询
媒体查询再做响应式网站时候,非常方便。如果下面的代码满足不了你的需求的话,那么推荐你看之前的文章 《使用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; }}
用法
.foo { @include respond-to('sm') { padding-left: 20px; padding-right: 20px; }}
产出
@media only screen and (min-width: 480px) { .foo { padding-left: 20px; padding-right: 20px; } }
长阴影
这个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);}
使用
h1 { @include longshadow(darken($color, 5% ));}
效果
See the Pen Long Shadow Sass Mixinby Helkyle ( @HelKyle) on CodePen.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.
