sass和stylus1px解決方案

来源:https://www.cnblogs.com/yan-captain/archive/2018/11/10/9940359.html
-Advertisement-
Play Games

1.sass 1 @charset "utf-8"; 2 /** 3 * @module 背景與邊框 4 * @description 為元素添加邊框(包括1px邊框) 5 * @method border 6 * @version 2.0.0 7 * @param {String} $border ...


1.sass

 1 @charset "utf-8";
 2 /**
 3  * @module 背景與邊框
 4  * @description 為元素添加邊框(包括1px邊框)
 5  * @method border
 6  * @version 2.0.0
 7  * @param {String} $border-width 指定邊框厚度(單位為px),預設值:1px,取值與`border-width`屬性一致,不同方向代表邊框位置 <2.0.0>
 8  * @param {String} $border-color 指定邊框顏色 <2.0.0>
 9  * @param {String} $border-style 指定邊框樣式 <2.0.0>
10  * @param {String} $radius 指定邊框圓角半徑,預設值:null <2.0.0>
11  */
12 @mixin border($border-width: 1px, $border-color: map-get($base, border-color), $border-style: solid, $radius: null) {
13     // 為邊框位置提供定位參考
14     position: relative;
15     @if $border-width == null {
16         $border-width: 0;
17     }
18     border-radius: $radius;
19     &::after {
20         // 用以解決邊框layer遮蓋內容
21         pointer-events: none;
22         position: absolute;
23         z-index: 999;
24         top: 0;
25         left: 0;
26         // fix當元素寬度出現小數時,邊框可能顯示不全的問題
27         // overflow: hidden;
28         content: "\0020";
29         border-color: $border-color;
30         border-style: $border-style;
31         border-width: $border-width;
32         // 適配dpr進行縮放
33         @include responsive(retina1x) {
34             width: 100%;
35             height: 100%;
36             @if $radius != null {
37                 border-radius: $radius;
38             }
39         }
40         @include responsive(retina2x) {
41             width: 200%;
42             height: 200%;
43             @include transform(scale(.5));
44             @if $radius != null {
45                 border-radius: $radius * 2;
46             }
47         }
48         @include responsive(retina3x) {
49             width: 300%;
50             height: 300%;
51             @include transform(scale(.33333));
52             @if $radius != null {
53                 border-radius: $radius * 3;
54             }
55         }
56         @include transform-origin(0 0);
57     }
58 }

2.stylus

border($border-width = 1px, $border-color = #ccc, $border-style = solid, $radius = 0)
  // 為邊框位置提供定位參考
  position: relative;

  if $border-width == null
    $border-width: 0;

  border-radius: $radius;

  &::after
    // 用以解決邊框layer遮蓋內容
    pointer-events: none;
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    // fix當元素寬度出現小數時,邊框可能顯示不全的問題
    // overflow: hidden;
    content: "\0020";
    border-color: $border-color;
    border-style: $border-style;
    border-width: $border-width;
    
    // 適配dpr進行縮放
    @media (max--moz-device-pixel-ratio: 1.49), (-webkit-max-device-pixel-ratio: 1.49), (max-device-pixel-ratio: 1.49), (max-resolution: 143dpi), (max-resolution: 1.49dppx)
      width: 100%;
      height: 100%;
      if $radius != null {
        border-radius: $radius;
      }
    
    @media (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49), (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49),(min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 2.49),(min-resolution: 144dpi) and (max-resolution: 239dpi),(min-resolution: 1.5dppx) and (max-resolution: 2.49dppx)
      width: 200%;
      height: 200%;
      transform: scale(.5)
      if $radius != null {
        border-radius: $radius * 2;
      }
    
    @media (min--moz-device-pixel-ratio: 2.5), (-webkit-min-device-pixel-ratio: 2.5),(min-device-pixel-ratio: 2.5), (min-resolution: 240dpi),(min-resolution: 2.5dppx)
      width: 300%;
      height: 300%;
      transform: scale(.33333)
      if $radius != null {
        border-radius: $radius * 3;
      }

    transform-origin: 0 0;

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • #*.rpm介紹 大多數二進位rpm包都包含在名稱中倒數第二個欄位中編譯rpm的體繫結構。.rpm軟體包有那麼幾種 *.src.rpm 源程式包,要先通過編譯才能安裝 *.noarch.rpm 該包適用於任何架構 *.i*86.rpm 該包適用於intel cpu的電腦上運行 *.amd64.rpm ...
  • 簡單的用set或者declare語句定義變數,然後直接作為sql的表名是不行的,mysql會把變數名當作表名。在其他的sql資料庫中也是如此,mssql的解決方法是將整條sql語句作為變數,其中穿插變數作為表名,然後用sp_executesql調用該語句。 這在mysql5.0之前是不行的,5.0之 ...
  • 因為大數據前景好,薪資高,很多人想通過參加學習大數據,然後進入大數據行業發展。但是因為大數據的門檻較高,對於學習人員有一定的要求,那麼學習大數據需要什麼基礎知識呢? 一起來瞭解下對於大數據學習者本身的學歷水平的要求。 目前大多數的機構,對於大數據學習者要求必須是大專學歷以上,而且大專學歷還要求是理工 ...
  • 轉載請標明出處:https://www.cnblogs.com/tangZH/p/9939655.html 1、同個文件夾訪問 D:\Java\main\A.java D:\Java\main\B.java A訪問B的相對路徑為B.java 2、目標文件在其子目錄 D:\Java\A.java D: ...
  • 進行App開發的時候,使用震動器要在AndroidManifest.xml中加上如下許可權: 讓手機震動的功能用到了震動器Vibrator類,而震動器對象從系統服務VIBRATOR_SERVICE獲得,實現該功能的代碼很簡單,即便用Java書寫也只有以下兩行代碼: 兩行代碼看起來真沒什麼好簡化的了,因 ...
  • 轉載請標明出處,維權必究:https://www.cnblogs.com/tangZH/p/9939494.html android中引用的包一般分為兩種: 1、jar包 2、arr包 arr包其實帶有res的jar包,而普通的jar包是不帶資源文件的。那麼如何在項目中引用呢? 1、將arr包複製到 ...
  • 前文瞭解了什麼是前端,那麼前端技術到底有哪些呢?最核心的就這三個: html/html5 css/css3 javascript 什麼是HTML HyperText Markup Language,超文本標記語言 ...
  • 2018-11-10 今天是我第一次寫博客,因為沒經驗嘛,我就隨便寫寫,我也希望自己以後能堅持寫下去,不為別的,就為了自己能夠更好地學習編程,能夠追隨行業大牛的腳步,從此贏取白富美,走上人生巔峰(額,理想遠大呵!) 好吧,步入正題,因為目前在學java,加了一些培訓機構的群,跟著做了一個小項目,就是 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...