自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一些不好記卻很好用的 CSS 屬性

新聞 前端
本文介紹一些我覺得不太好記但是卻很好用的 CSS 屬性,也是順便幫自己做個(gè)筆記。

 [[395573]]

前言

在寫過一點(diǎn)時(shí)間 CSS 之后,大家對于常見的屬性應(yīng)該都很熟了,例如最基本的 display、position、padding、margin、border、background 等等,在寫 CSS 的時(shí)候不需要特別查什么東西,很順的就可以寫出來。

這些屬性之所以常見,是因?yàn)樵S多地方都用得到,而有些 CSS 屬性只能使用在某些特定的地方,或者只有在某個(gè)特定的情境之下才會出現(xiàn)。我經(jīng)常會忘記這些沒不常的屬性,但有時(shí)候這些屬性其實(shí)特別重要。

所以本文介紹一些我覺得不太好記但是卻很好用的 CSS 屬性,也是順便幫自己做個(gè)筆記。

input 的外框與 “|” 的顏色

比起 border, outline 是一個(gè)相對少見的屬性,但是要特別提到的是在 input 上的應(yīng)用。在瀏覽器的默認(rèn)行為中,當(dāng)你把焦點(diǎn)移動到 input 時(shí),邊緣會出現(xiàn)一圈藍(lán)色:

那個(gè)藍(lán)色的就是 outline,可以通過 Chrome devtool 驗(yàn)證:

所以如果不想要 outline 或是想改顏色,那么就修改這個(gè)屬性就行了。

在輸入框中出現(xiàn)的那個(gè)一直閃的 | 叫做 caret,如果想改變顏色的話可以通過 caret-color 屬性修改改:

點(diǎn)擊時(shí)的藍(lán)色框框

我記得在手機(jī)上點(diǎn)擊一些東西的時(shí)候會出現(xiàn)一個(gè)藍(lán)色的外框還什么之類的,但我剛剛怎么試都沒有試出來,總之對應(yīng)的屬性叫做 -webkit-tap-highlight-color,用這關(guān)鍵字查應(yīng)該可以查到一些其他文章跟范例。

平滑滾動

有許多網(wǎng)站都有一個(gè)功能,最常見的是博客網(wǎng)站,在右側(cè)可能會出現(xiàn)文章每一個(gè)段落的標(biāo)題,點(diǎn)下去之后就可以快速定位到那個(gè)段落去。

如果沒有任何設(shè)定的話,就是點(diǎn)下去直接跳到那定位的段落。但有一種東西叫做平滑滾動(smooth scroll),會添加一些過場,讓使用者知道是滾動到那邊去的。

很久以前要實(shí)現(xiàn)這個(gè)功能可能需要用到 JS,但現(xiàn)在可以用 CSS 的 scroll-behavior: smooth; 來搞定(下面的例子取自 MDN):

載入新內(nèi)容時(shí)的 scroll 位置

許多網(wǎng)站都有滾動到最底下的時(shí)候自動載入更多的功能,在載入更多的時(shí)候,你會預(yù)期使用者還是停留在同一個(gè)位置,不會因?yàn)檩d入更多就自動把滾動條往下滾之類的。

但有時(shí)候?yàn)g覽器默認(rèn)的處理方式不如預(yù)期,有可能你載入更多元素的時(shí)候,畫面并沒有停留在你想像中的位置。

這時(shí)候可以用 overflow-anchor 這個(gè) CSS 屬性來調(diào)整這個(gè)行為。

一次只滑一個(gè)元素

有時(shí)候我們會需要一個(gè)這樣的效果:使用者輕輕滑一下,就直接滑到下一個(gè)元素,而不是滑到任意地方,這可以通過 scroll-snap 相關(guān)的屬性來實(shí)現(xiàn)的,像是這樣:

手機(jī)上的 300ms 點(diǎn)擊延遲

這個(gè)應(yīng)該很多人都知道,在手機(jī)上的點(diǎn)擊事件會有個(gè)大約 300ms 的演出,也就是說你點(diǎn)下去之后要等 300ms 才會觸發(fā) click 事件。之所以會有這個(gè)延遲,是因?yàn)槟憧梢栽谑謾C(jī)上通過雙擊來放大畫面 ,所以在第一次點(diǎn)擊的時(shí)候,瀏覽器不知道你是要點(diǎn)兩次還是只點(diǎn)一次,因此需要等待一段時(shí)間。

這個(gè)延遲在之前好像就已經(jīng)被去除了,但是如果你發(fā)現(xiàn)仍然存在的話,可以用 touch-action: manipulation 這個(gè) CSS 屬性來解決,這屬性可以通過設(shè)置來停用一些手勢。

更多詳情可以參考 MDN。

font-smooth

我是在 Create React App 默認(rèn)的 css 中(https://github.com/facebook/create-react-app/blob/master/packages/cra-template/template/src/index.css#L6) 看到這個(gè)屬性的:

  1. body { 
  2.  
  3. -webkit-font-smoothing: antialiased; 
  4.  
  5. -moz-osx-font-smoothing: grayscale; 
  6.  

在很多網(wǎng)站上也可以發(fā)現(xiàn)這兩個(gè)屬性,它們與字體的渲染有關(guān),例如 antialiased 其實(shí)就是大家都聽過的反鋸齒??梢宰约簺Q定用什么方式來去渲染字體。

結(jié)語

本文簡單的記錄了一些我覺得比較難記但是好用的 CSS 屬性,因?yàn)椴粫茴l繁地去使用,所以等到真的要用的時(shí)候很容易忘記屬性名,如果在搜索時(shí)關(guān)鍵字輸?shù)貌粚茈y找到這個(gè)屬性叫什么。

 

 

責(zé)任編輯:張燕妮 來源: 前端先鋒
相關(guān)推薦

2011-06-02 10:04:53

CSS

2023-10-11 07:33:39

Z-indexCSS

2012-04-23 14:04:56

CSS網(wǎng)站

2020-05-19 08:59:19

CSS偽元素開發(fā)

2023-03-09 17:54:04

2011-06-16 16:39:14

CSS

2009-06-04 09:14:32

struts學(xué)習(xí)struts常用屬性

2015-03-26 09:34:27

APP設(shè)計(jì)UI設(shè)計(jì)UX工具

2022-02-09 08:49:37

架構(gòu)

2021-05-10 07:35:11

SwaggeYApi部署

2020-08-26 08:54:17

CSSFont Size屬性

2020-04-21 11:08:06

CSS設(shè)計(jì)排版

2009-06-18 14:54:52

Spring AOP

2013-07-02 10:18:20

編程編程策略

2020-02-03 16:03:36

疫情思考

2016-11-16 21:18:42

android日志

2009-09-21 17:46:25

Hibernate數(shù)據(jù)

2013-07-02 09:43:02

編程策略

2011-06-01 16:50:21

JAVA

2010-09-28 14:14:19

SQL語句
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號