css小細節羅列

来源:http://www.cnblogs.com/xiaoloulan/archive/2017/05/08/6826190.html
-Advertisement-
Play Games

有空時候把一些常見可能不是每個人都知道的css小細節總結了下,共勉。 1.line-height 眾多周知,line-height是行高的意思,我們時常會使用類似line-height:24px;這樣的代碼來設置絕對的行高。但是當我們的需求改變,字體大小變動的時候,可能我們還需要再次改動行高,那麼現 ...


 

有空時候把一些常見可能不是每個人都知道的css小細節總結了下,共勉。

1.line-height

眾多周知,line-height是行高的意思,我們時常會使用類似line-height:24px;這樣的代碼來設置絕對的行高。但是當我們的需求改變,字體大小變動的時候,可能我們還需要再次改動行高,那麼現在我們可以使用直接設置數字來設置行高,當我們使用純數字來設置行高的時候,它相對於的是字體大小的倍數,也就是說下麵的h4其實設置的行高也是12*2px就是24px。這樣設置的好處是當我們在改變字體大小的時候,行高會自動進行改變。

p{ font-size:12px; line-height:24px; }
h4{ font-size:12px; line-height:2; }

 

2.backgroud-clip和backgroud-origin

background-clip: border-box|padding-box|content-box;

該屬性指定了背景在哪些區域可以顯示,但與背景開始繪製的位置無關,背景的繪製的位置可以出現在不顯示背景的區域,這時就相當於背景圖片被不顯示背景的區域裁剪了一部分一樣。簡單來說:它指定了背景可以覆蓋到哪個位置。

background-origin: padding-box|border-box|content-box;

該屬性指定了背景從哪個區域(邊框、補白或內容)開始繪製,但也僅僅能控制背景開始繪製的位置,你可以用這個屬性在邊框上繪製背景,但邊框上的背景顯不顯示出來那就要由background-clip來決定了。簡單來說:它指定了背景從哪個位置開始展示。

 

3.border-radius

大家都會使用border-radius來製作圓角或者球形狀,但是很少有人知道它是可以指定角度的水平和垂直半徑,只需要我們使用 / 來分開兩個值。這樣的話我們可以輕鬆實現一個橢圓形。

.div1{
	width: 200px; 
	height: 150px;
	border-radius: 100px/75px;
	background-color:#000;
}

  

並且當我們使用百分比進行值的設置的時候,他會基於元素自身的寬高進行解析,也就是說其實上面的代碼可以這麼寫。

.div1{
	width: 200px; 
	height: 150px;
	border-radius: 50%/50%;
     /* border-radius: 50%; */ background-color:#000; }

  

4.animation-delay

在w3c我們可以瞭解到animation-delay 屬性定義動畫何時開始。animation-delay 值以秒或毫秒計。

並且:它提示了我們可以用負值定義這個屬性,類似當我們使用-2s定義這個屬性的時候,好像動畫開始的時候已經播放了兩秒。

 

5.box-shadow

我們都會使用box-shadow來為我們的盒子加上陰影類似這樣:box-shadow:3px 3px 4px rgba(0,0,0,.3);

但是當我們的需求是只有一個方向有陰影的時候,可能我們再加上一層結構使用溢出隱藏來實現。其實box-shadow有一個第四個個長度的參數,稱為擴張半徑,並且我們可以使用負值來對我們的模糊半徑進行反向抵消,我們看這兩個效果。

.div1{
	width: 200px; 
	height: 150px;
     border: 1px solid #ddd;
box-shadow: 0 5px 4px #000;
}

  

.div1{
	width: 200px; 
	height: 150px;
	border: 1px solid #ddd;
	box-shadow: 0 5px 4px -4px #000;
}

  

這樣使用第四個長度參數,我們就輕鬆實現了單側陰影。而且我們還可以想到對邊兩側陰影的實現

.div1{
	width: 200px; 
	height: 150px;
	border: 1px solid #ddd;
	box-shadow: 0 5px 4px -4px #000,0 -5px 4px -4px #000;
}

  

 

 

 6.css三角形

 三角形是在頁面中常用的一項。有時候我們會切圖來做,但是其實類似模擬下拉的那種下拉我們是可以使用簡單的css來實現的,並且數學好的話,各種角度都不在話下。

        i{ width: 0; height: 0; float: left; margin:20px; }
        .up {
            border-left: 20px solid transparent;
            border-right: 20px solid transparent;
            border-bottom: 40px solid #000;
        }
        .down {
            border-left: 20px solid transparent;
            border-right: 20px solid transparent;
            border-top: 40px solid #000;
        }
        .left {
            border-top: 20px solid transparent;
            border-bottom: 20px solid transparent;
            border-right: 40px solid #000;
        }
        .right {
            border-top: 20px solid transparent;
            border-bottom: 20px solid transparent;
            border-left: 40px solid #000;
        }
        .top-left {
            border-top: 40px solid #000;
            border-right: 40px solid transparent;
        }
        .top-right {
            border-top: 40px solid #000;
            border-right: 40px solid transparent;
        }
        .bottom-left {
            border-bottom: 40px solid #000;
            border-right: 40px solid transparent;
        }
        .bottom-right {
            border-bottom: 40px solid #000;
            border-right: 40px solid transparent;
        }        

角度來的話從下麵的截圖中就可以瞭解了。三角形的角度。。。我這裡就不多說了。。。

 

7.cursor

這裡要說的是cursor的值可不僅僅是pointer。我們可以根據不同的場景使用不同的游標,大家可以嘗試下,下方來自w3c:

描述
url

需使用的自定義游標的 URL。

註釋:請在此列表的末端始終定義一種普通的游標,以防沒有由 URL 定義的可用游標。

default 預設游標(通常是一個箭頭)
auto 預設。瀏覽器設置的游標。
crosshair 游標呈現為十字線。
pointer 游標呈現為指示鏈接的指針(一隻手)
move 此游標指示某對象可被移動。
e-resize 此游標指示矩形框的邊緣可被向右(東)移動。
ne-resize 此游標指示矩形框的邊緣可被向上及向右移動(北/東)。
nw-resize 此游標指示矩形框的邊緣可被向上及向左移動(北/西)。
n-resize 此游標指示矩形框的邊緣可被向上(北)移動。
se-resize 此游標指示矩形框的邊緣可被向下及向右移動(南/東)。
sw-resize 此游標指示矩形框的邊緣可被向下及向左移動(南/西)。
s-resize 此游標指示矩形框的邊緣可被向下移動(南)。
w-resize 此游標指示矩形框的邊緣可被向左移動(西)。
text 此游標指示文本。
wait 此游標指示程式正忙(通常是一隻表或沙漏)。
help 此游標指示可用的幫助(通常是一個問號或一個氣球)。

 

 8.box-shadow遮罩層

如何簡單不增加元素和太多代碼的情況下實現一個遮罩層(此方案遮罩層並不能添加事件)。

    .div1{
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100px;
            height: 100px;
            background-color:#fff;
            box-shadow: 0 0 0 999px rgba(0, 0, 0, 0.8);
        }

 

9.steps()

steps()是一個timing function,允許我們將動畫或者過渡分割成段,而不是從一種狀態持續到另一種狀態的過渡。

steps 有兩個參數

第一個肯定是分幾步執行完

第二個有兩個值

1.start 第一幀是第一步動畫結束

2.end 第一幀是第一步動畫開始

他在我們做動畫的時候用處是十分大的,如果有興趣的同學可以移步【譯】css動畫里的steps()用法詳解

我這裡自己也根據網上的內容做了個小demo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    body{ font-family:'宋體'; }
    @keyframes typing{
        from { width: 0; }
    }
    @keyframes caret{
        50%{ border-color: transparent; }
    }
    body{ text-align: center; }
    h1{ width: 12ch; overflow: hidden; white-space: nowrap; border-right: 0.5em solid; animation: typing 3s steps(12),caret 1s steps(1) infinite; }
    </style>
</head>
<body>
    <h1>hello world!</h1>
</body>
</html>

 未完待續~~~


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

-Advertisement-
Play Games
更多相關文章
  • HTML API localstorage在瀏覽器的API有兩個:localStorage和sessionStorage,存在於window對象中:localStorage對應window.localStorage,sessionStorage對應window.sessionStorage。loca ...
  • 一:不同空格符合的區別 &nbsp; 半形的不斷行的空白格(推薦使用) &ensp; 半形的空格 &emsp; 全形的空格 詳細的含義: &nbsp;:這是我們使用最多的空格,也就是按下space鍵產生的空格。在HTML中,如果你用空格鍵產生此空格,空格是不會累加的(只算1個)。要使用html實體表 ...
  • 軟體工程第二次作業——結對編程 ================================ 團隊 學號:1500802014;姓名:孟祥磊;博客地址: "http://www.cnblogs.com/MXLei1/" 學號:1500802013;姓名:劉哲乾;博客地址: "http://www ...
  • 今天在下載一個比較大的項目,經常shasum check failed,太煩了,於是想切淘寶源,分別嘗試nrm切換和傳遞 registry,結果都出現Unexpected end of JSON input錯誤。這是比較奇怪的,看起來是JSON數據沒有傳完。結合以前SwitchyOmega走priv ...
  • 1.圖片 <img / > 圖片的格式: 1.1BMP 占用空間大,顏色豐富。 1.2JPEG 有損壓縮,占用空間較小。 1.3GIF 多幀動圖,支持透明色。 1.4PNG 無損壓縮,點陣圖(由無數小點組成)支持透明色/半透明色。 <img /> 屬性: src="PATH” PATH:圖片的所在路徑 ...
  • 這是我幾個月之前的項目作品,花了相當的時間去完善。博客人氣不高,但拿代碼的人不少,所以一直處於保密狀態。沒有公開代碼。但如果對你有幫助,並能提出指導意見的,我將十分感謝。 IFE前端2015春季 任務3 綜合練習 任務描述 參考 "設計稿" 實現一個簡單的個人任務管理系統:如下圖 " " 任務需求描 ...
  • 現在部分瀏覽器已支持自定義滾動條,成了設計師和完美主義者的救星。 新版上線後,設計師又提了個新需求:把導航欄右側的滾動條,在不滾動時隱藏掉(同時還發了個小視頻表示效果)。就是下圖中右側的粗線: 在mac系統下測試了Chrome/Safari/Firefox瀏覽器,發現這些系統在預設情況下,不滾動時滾 ...
  • <!-- pre{ width: 900px; color:blue; font-weight: bolder; } --> 盒子模型 1.background 1.1 background-color background-image: url(""); background-repeat bac ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...