成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

按鈕樣式的正確方式

DataPipeline / 2337人閱讀

摘要:按鈕樣式的正確方式如果你正在建立一個(gè)網(wǎng)站或一個(gè)應(yīng)用,你可能會(huì)用到按鈕,也許看起來(lái)像按鈕的鏈接。這是我們想要做的事情可應(yīng)用于鏈接或按鈕的按鈕樣式我們希望有選擇地應(yīng)用它,因?yàn)槲覀兊捻?yè)面中會(huì)有其他鏈接和按鈕樣式。

按鈕樣式的正確方式

如果你正在建立一個(gè)網(wǎng)站或一個(gè)web應(yīng)用,你可能會(huì)用到按鈕,也許看起來(lái)像按鈕的鏈接。不管怎樣,讓這些正常展示是很重要的。

在本教程中,我們將為 編寫一個(gè)“button”CSS組件

現(xiàn)在我們已經(jīng)刪除了默認(rèn)樣式,讓我們定義我們自己的按鈕樣式。 這是我們想要做的事情:

可應(yīng)用于鏈接或按鈕的“按鈕”樣式;

我們希望有選擇地應(yīng)用它,因?yàn)槲覀兊捻?yè)面中會(huì)有其他鏈接和按鈕樣式。

這需要一個(gè)CSS組件。 CSS組件是一種風(fēng)格或樣式集合,我們可以使用類來(lái)應(yīng)用,通常在幾種不同類型的HTML元素之上。 您可能熟悉Bootstrap或Foundation等CSS框架中的這個(gè)概念。

我們將這個(gè)組件稱為.btn(就像Bootstrap一樣,但我們只設(shè)置顏色和大小,以保持簡(jiǎn)單)。

.btn {
  /* default for 

以下是我們的按鈕組件的外觀:

你可能想知道為什么差別這么明顯。第二行按鈕看起來(lái)就不錯(cuò),誰(shuí)不喜歡柔和的外觀?

懸停(hover),焦點(diǎn)(focus)和活動(dòng)(active)樣式

很酷,你的按鈕看起來(lái)不錯(cuò),但是...用戶將與它進(jìn)行交互,并且當(dāng)按鈕的狀態(tài)改變時(shí),他們需要視覺(jué)反饋。

瀏覽器為“focus”和“active”(即按下)狀態(tài)設(shè)置了默認(rèn)樣式,但通過(guò)重置按鈕樣式我們已經(jīng)刪除了其中的一些。 我們還希望為鼠標(biāo)懸停設(shè)置樣式,總體而言,我們希望可見(jiàn)的樣式與我們的設(shè)計(jì)相匹配。

讓我們從以下主題開(kāi)始:活動(dòng)狀態(tài),即按鈕或者鏈接被點(diǎn)擊:

/* old-school "down" effect on clic + color tweak */
.btn:active {
  transform: translateY(1px);
  filter: saturate(150%);
}

我們可以更改按鈕的顏色,但我想為我們的鼠標(biāo)懸停式樣保留這種效果:

/* inverse colors on mouse-over */
.btn:hover {
  color: #9555af;
  border-color: currentColor;
  background-color: white;
}

現(xiàn)在讓我們添加一些焦點(diǎn)樣式。 您的網(wǎng)站或網(wǎng)絡(luò)應(yīng)用程序的用戶可以使用鍵盤或虛擬鍵盤(在iOS和Android上)“”并激活表單域,按鈕,鏈接和其他交互元素。

對(duì)于一些用戶來(lái)說(shuō),它可以加速緩慢的交互,比如填寫表單。

對(duì)于其他人來(lái)說(shuō),使用鼠標(biāo)或觸摸指針是不可能的或困難的。 他們依靠使用鍵盤或?qū)S迷O(shè)備訪問(wèn)網(wǎng)站。

在我見(jiàn)過(guò)的大多數(shù)Web項(xiàng)目中,設(shè)計(jì)師都指定了預(yù)期的鼠標(biāo)移過(guò)樣式,但未指定焦點(diǎn)樣式。 我們應(yīng)該做什么? 一個(gè)簡(jiǎn)單的解決方案是重用:hover風(fēng)格作為我們的focus風(fēng)格:

/* inverse colors on mouse-over and focus */
.btn:hover,
.btn:focus {
  color: #9555af;
  border-color: currentColor;
  background-color: white;
}

一旦你有了這種可見(jiàn)的對(duì)焦風(fēng)格(而不是之前?。?,你可能想要?jiǎng)h除瀏覽器的按鈕的默認(rèn)樣式:

.btn {
  /* ... */
  /* all browsers: remove the default outline since
      we are rolling our own focus styles */
  outline: none;
}

/* Firefox: removes the inner border shown on focus */
.btn::-moz-focus-inner {
  border: none;
}

在這里嘗試一下; 如果您在桌面計(jì)算機(jī)上,請(qǐng)使用Tab和Shift + Tab鍵在按鈕之間導(dǎo)航:

處理focus樣式

還有一個(gè)棘手的問(wèn)題。 在多個(gè)瀏覽器中,當(dāng)您單擊鏈接或按鈕時(shí),將應(yīng)用兩個(gè)偽類:

:active

:focus

一旦停止按下鼠標(biāo)按鈕或觸控板,“active”偽類就會(huì)停止應(yīng)用。 但在某些瀏覽器中,focus樣式會(huì)一直保留,直到用戶點(diǎn)擊頁(yè)面上的其他內(nèi)容為止。

在我的測(cè)試中,受影響的瀏覽器包括Chrome(66),Edge(16)和Firefox(60,僅用于鏈接)。 Safari(11.1)似乎更聰明并避免了這個(gè)問(wèn)題。

我們可以使用新的: :focus-visible偽類(草稿規(guī)范)來(lái)解決此問(wèn)題。 這個(gè)功能還沒(méi)有完全指定,但想法是瀏覽器只能在鍵盤或類似鍵盤的交互之后設(shè)置: :focus-visible,而不是點(diǎn)擊。

由于它尚未被瀏覽器實(shí)現(xiàn),我們將不得不使用JavaScript實(shí)現(xiàn),比如有些polyfill。 它在整個(gè)頁(yè)面上運(yùn)行,并且僅在使用鍵盤時(shí)才將焦點(diǎn)可見(jiàn)的類設(shè)置為接收焦點(diǎn)的元素。

讓我們改變我們的樣式來(lái)解耦:hover和:focus樣式:

/* inverse colors on hover */
.btn:hover {
  color: #9050AA;
  border-color: currentColor;
  background-color: white;
}

/* make sure we have a visible focus ring */
.btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 105, 180, 0.5),
    0 0 0 1.5px rgba(255, 105, 180, 0.5);
}

現(xiàn)在,在我們的頁(yè)面中包含focus-visible.js腳本后,它會(huì)為元素添加一個(gè)js-focus-visible類。 我們可以使用它來(lái)從沒(méi)有焦點(diǎn)可見(jiàn)類的焦點(diǎn)元素中移除焦點(diǎn)樣式:

/* hide focus style if not from keyboard navigation */
.js-focus-visible .btn:focus:not(.focus-visible) {
  box-shadow: none;
}

一個(gè)更簡(jiǎn)單的解決方案是只為focus-visible類聲明焦點(diǎn)樣式,但如果polyfill不是活動(dòng)的(例如,如果我們的JS未能加載),則會(huì)中斷焦點(diǎn)樣式。

關(guān)注我的微信公眾號(hào),更多優(yōu)質(zhì)文章定時(shí)推送

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/113372.html

相關(guān)文章

  • HTML編碼規(guī)范建議

    摘要:示例強(qiáng)制對(duì)中規(guī)定允許省略的閉合標(biāo)簽,不允許省略閉合標(biāo)簽。示例圖片強(qiáng)制禁止的取值為空。示例提交取消取消提交建議當(dāng)使用進(jìn)行表單提交時(shí),如果條件允許,應(yīng)使原生提交功能正常工作。示例建議模板代碼應(yīng)以保證單個(gè)標(biāo)簽語(yǔ)法的正確性為基本原則。 這段時(shí)間在整理前端部分代碼規(guī)范,初步想法是從HTML、CSS、Javascipt、項(xiàng)目文件目錄四部分是整理。之前已經(jīng)整理完了CSS編碼規(guī)范,有興趣可以了解下 1...

    sunnyxd 評(píng)論0 收藏0
  • HTML表單(來(lái)自MDN總結(jié))

    摘要:多個(gè)標(biāo)簽原生表單部件通用屬性默認(rèn)這個(gè)布爾屬性允許您指定當(dāng)頁(yè)面加載時(shí)元素應(yīng)該自動(dòng)具有輸入焦點(diǎn),除非用戶覆蓋它,例如通過(guò)鍵入不同的控件。元素的名稱這是用于表單數(shù)據(jù)提交的。到目前為止,表單是最常見(jiàn)的攻擊媒介可能發(fā)生攻擊的地方。 表單介紹 HTML表單是用戶和web站點(diǎn)或應(yīng)用程序之間交互的主要內(nèi)容之一。它們?cè)试S用戶將數(shù)據(jù)發(fā)送到web站點(diǎn)。大多數(shù)情況下,數(shù)據(jù)被發(fā)送到web服務(wù)器,但是web頁(yè)面也...

    JouyPub 評(píng)論0 收藏0
  • HTML編碼規(guī)范

    摘要:示例強(qiáng)制禁止為了腳本,創(chuàng)建無(wú)樣式信息的。示例強(qiáng)制對(duì)中規(guī)定允許省略的閉合標(biāo)簽,不允許省略閉合標(biāo)簽。指定字符編碼的必須是的第一個(gè)直接子元素。示例提交取消取消提交建議當(dāng)使用進(jìn)行表單提交時(shí),如果條件允許,應(yīng)使原生提交功能正常工作。 轉(zhuǎn)載:原地址 1 前言 HTML作為描述網(wǎng)頁(yè)結(jié)構(gòu)的超文本標(biāo)記語(yǔ)言,在百度一直有著廣泛的應(yīng)用。本文檔的目標(biāo)是使HTML代碼風(fēng)格保持一致,容易被理解和被維護(hù)。 2 代碼...

    bang590 評(píng)論0 收藏0
  • 9:瀏覽器兼容

    摘要:由和開(kāi)發(fā)的瀏覽器排版引擎,年月發(fā)布。瀏覽器的兼容問(wèn)題是我們必須去克服的。表示過(guò)濾器的意思,它是一種對(duì)特定的瀏覽器或?yàn)g覽器組顯示或隱藏規(guī)則或聲明的方法。? 9:瀏覽器兼容 常見(jiàn)的主流瀏覽器 1)主流瀏覽器 Internet Explorer、 Safari、Mozilla Firefox、 Google Chrome、Opera、百度、360、搜狗、傲游 2)最早的瀏覽器 : Mosaic ...

    AWang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<