你應該知道的簡單易用的CSS技巧

来源:https://www.cnblogs.com/lbx-night/archive/2019/10/09/11644186.html
-Advertisement-
Play Games

作為前端,在工作中難免會遇到關於排版的問題,以下是我整理的一些關於CSS的技巧,希望對你能有幫助。 1、每個單詞的首字母大寫 一般我們會用JS實現,其實CSS就可以實現。 JS代碼: var str = 'hello world'; str.replace(/( |^)[a z]/g,(L)= L. ...


作為前端,在工作中難免會遇到關於排版的問題,以下是我整理的一些關於CSS的技巧,希望對你能有幫助。

1、每個單詞的首字母大寫

一般我們會用JS實現,其實CSS就可以實現。
JS代碼:

    var str = 'hello world';
    
    str.replace(/( |^)[a-z]/g,(L)=>L.toUpperCase()

    Heool World
      

css實現:

    text-transform:capitalize; ( 文本中每個單詞以大寫字母開頭)
 
    text-transform的屬性值有:
                        uppercase (全部大寫)
                        lowercase  (全部小寫)
                        capitalize  (首字母大寫)
                        none        (預設)
                                                    

2、元素選中高亮

    如input元素:
  
    input:checked + .check {
        color:red;
    }
            

3、相鄰元素添加邊框

有時候我們給元素設置border-top的時候,並不想給第一個元素設置

    li+li {
        border-top: 1px solid red;
    }
            

4、多列等高

    display:table;
            

5、清除浮動的影響

    display:flow-root;
            

6、input的size屬性

    在input的type類型為text/password時,size的屬性值代表input可容納的字元的個數,除此之外size 屬性會告訴用戶端其初始寬度,寬度以 ‘px’ 的形式給出
            

7、position的粘粘屬性

position的屬性大家常見的應該就是absolute、fixed、static
為大家介紹一個新的屬性 sticky

    position:sticky; 設置sticky的同時給元素一個(top,botton,left,right)即可使用
    使用條件:
        1、父元素不能overflow:hidden 或者 overflow:auto
        2、必須指定 top、bottom、left、right
        3、父元素的高度不能低於sticky元素的搞丟
        4、sticky元素僅在其父元素內生效
        

8、快速重置表單元素

原始的button按鈕要重置挺麻煩的,要設置好幾個屬性

    button {
        background: none;
          border: none;
          color: inherit;
          font: inherit;
          outline: none;
          padding: 0;
    }
其實值需要設置
    button {
        all:unset;
    }
            

9、文本省略號顯示

文本省略號,相信大家都很常用

    這是不折行的情況
    div {
      white-space:nowrap;/* 規定文本是否折行 */
      overflow: hidden;/* 規定超出內容寬度的元素隱藏 */
      text-overflow: ellipsis;
      /* 規定超出的內容文本省略號顯示,通常跟上面的屬性連用,因為沒有上面的屬性不會觸發超出規定的內容 */
    }   
    
    折行
     div {
       overflow: hidden;
       text-overflow: ellipsis;
       display: -webkit-box; /* 將對象作為彈性伸縮盒子模型顯示 */
       -webkit-line-clamp: 4; /* 控制最多顯示幾行 */
       -webkit-box-orient: vertical; /* 設置或檢索伸縮盒對象的子元素的排列方式 */
     }    

10、設置文本兩端對齊

    div {
        width: 100px;
        padding: 0 10px;
        background: pink;
        margin-bottom: 10px;
        text-align-last:justify; /* 關鍵屬性 */
    }  

11、給元素添加行高

當給元素添加行高我們需要分別添加到每一個元素上p、h,但是其實我們直接添加到body上就可以了

     body {
        line-height:1;  
    }
            

12、 css首字放大

p:first-letter{
    display:block;
    float:left;
    margin: 5px 5px 0 0;  
    color:red;
    font-size:1.4rem;
    background:#ddd;
}    

13、移除被點擊鏈接的點框

a{
    outline:none 或者  outline:0
}

14、計算屬性值

div {
    width:calc(100%-100px) 讓寬度為100%的減去100px   
 }

15、內容可編輯

<ul contenteditable="true">

<li>11111111 </li>

<li>2222222</li>

<li>3333333</li>

</ul>
    

16、隱藏文本的兩種方法

p{
    font-size:0;
} 

p{
        text-indent:-1000;
} 
    

17、圖片在指定尺寸後,如何保持比例

img {
    object-fit:cover; 或者 contain
}

18、背景虛化

div {
    filter:blur(2px)
}

19、設置寬度

div {
    width:fill-available; // 等同於block
} 

div {
        width:fill-content; // 等同於inline-block
} 

20、link狀態設置順序

link的四種狀態,需要按照下麵的前後順序來設置
a:link a:visited a:hover a:active

21、font-size基準

瀏覽器的預設字體大小是16px,你可以先將基準字體大小設為10px:

body {font-size:62.5%;}

後面統一採用em作為字體單位,2.4em就表示24px。

h1 {font-size: 2.4 em}

22、用圖片充當標誌

預設情況下,瀏覽器會用黑圈來充當列表標誌,你可以用圖片代替

ul li {
    background-image: url("path-to-your-image"); 
    background-repeat: none;
     background-position: 0 0.5em; 
}
    

23、取消IE的文本滾動

textarea { overflow: auto; }

24、 黑白圖像

這會讓你的彩色照片變成黑白的圖像

img.desaturate { 
    filter: grayscale(100%); 
     -webkit-filter: grayscale(100%);
     -moz-filter: grayscale(100%); 
     -ms-filter: grayscale(100%); 
     -o-filter: grayscale(100%);
 }  
     

25、使用not取消樣式

一般我們給元素添加樣式會先給所以的都添加,然後再取消我們不想要的哪個元素樣式

/* add border */.nav li { border-right: 1px solid #666;}

/* remove border */.nav li:last-child { border-right: none;}

可以直接使用:not() 偽類實現

.nav li:not(:last-child) { border-right: 1px solid #666;}

26、禁用滑鼠點擊

css3屬性,當一個元素設置之後將無法點擊 
   .disabled { pointer-events: none; }

27、模糊文本

.blur { 
    color: transparent; 
    text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
    
    

28、禁止用戶選中文本

 div {user-select: none; /* Standard syntax */}

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

-Advertisement-
Play Games
更多相關文章
  • 最近需要實現導航功能,其中路線規劃和導航場景如下圖所示: 上面的截圖中,路線上面都繪製出了路名,方便用戶查看自己選擇的路線都經過了哪些道路。這裡用到的地圖的能力即為 騰訊地圖 Android SDK v4.2.7 已經開放了實現此功能的能力。 主要涉及介面如下: 介面名稱 | 功能概述 : | : ...
  • axios的除了初始化配置外,其它有用的應該就是攔截器了,攔截器分為請求攔截器和響應攔截器兩種: 請求攔截器 ;在請求發送前進行一些操作,例如在每個請求體裡加上token,統一做了處理如果以後要改也非常容易。 響應攔截器 ;是在接收到響應後進行一些操作,例如在伺服器返回登錄狀態失效,需要重新登錄的時 ...
  • XML Schema XSD (XML Schema Definition)是W3C於2001年5月發佈的推薦標準,指出如何形式描述XML文檔的元素。XSD是許多XML Schema 語言中的一支。XSD是首先分離於XML本身的schema語言,故獲取W3C的推薦地位。 像所有XML Schema ...
  • 一、介紹 運用UniApp+Vue+Vuex+swiper+uniPop等技術開發的仿微信原生App聊天室|仿微信聊天界面實例項目uniapp-chatroom,實現了發送圖文消息、表情(gif圖),圖片預覽、地圖位置、長按菜單、紅包/錢包、仿微信朋友圈等功能。 二、測試效果 H5 + 小程式 + ...
  • 一、判斷方法 1.判斷是否元素寬高為200的盒子 只需要看:邊框+內邊距+內容寬度/內容高度的值是否等於200 2.判斷是否內容寬高為100的盒子 只需要看:width和heght的值是否等於100 3.判斷是否元素空間寬高為300的盒子 只需要看:外邊距+邊框+內邊距+內容寬度/內容高度的值是否等 ...
  • /約定/ 讓我們輕裝上陣 一個功能頁(Page)的開發通常需要四大塊:配置、代碼、佈局、樣式。 這四大塊承載不同的方面,要獨立不混雜,又要整體融合。於是有了以下約定: 每一塊 獨立的文件、相同的文件名、不同的擴展名。 按約定行事,自動融合。 於是,一個小程式的功能頁 Page,就這樣形成了。 ind ...
  • 23、$refs是什麼東東? 通過在標簽上設置ref屬性,然後在Vue實例方法中可以通過$refs拿到這些標簽,如: 24、對於多級嵌套組件,後代組件如何拿到父級或祖父級,設置更高級別的組件的數據或方法? 使用依賴註入。 provide選項允許我們在當前組件指定我們想要提供給後代組件的數據/方法,比 ...
  • 故障藝術,英文名稱叫glitch,在很多賽博朋克作品中經常看到,其實就是故意表現一種顯示設備的小故障效果,抖音的圖標其實就是這種的效果,我們看下這個圖標 這個圖標中的紅色和藍色的偏移其實就是一種故障藝術,看到這個,我就能想到早年我家還沒有有線電視時,搖天線對電視信號的場景,信號一差就是對著電視一陣拳 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...