重學前端008 --- 響應式網頁設計 CSS 無障礙 Quiz

文章目錄

  • meta 總結
  • html 頁面結構
  • img 尺寸
  • 子選擇器 >
  • a 錨點
  • 僅屏幕閱讀器可見
  • li 元素的懸停設置
  • 小屏幕防止溢出

meta 總結

<head><!-- 基礎字符編碼聲明 --><meta charset="UTF-8"><!-- 視口設置,響應式設計必備 --><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- 頁面描述(SEO重要元素) --><meta name="description" content="這里是網頁的簡要描述,約150-160字符"><!-- 關鍵詞(現代SEO中重要性降低) --><meta name="keywords" content="關鍵詞1, 關鍵詞2, 關鍵詞3"><!-- 作者信息 --><meta name="author" content="作者名"><!-- 告訴搜索引擎爬蟲如何索引頁面 --><meta name="robots" content="index, follow"> <!-- 可選項:noindex, nofollow --><!-- 控制IE瀏覽器渲染模式 --><meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- 社交媒體分享優化(Open Graph協議) --><meta property="og:title" content="頁面標題"><meta property="og:type" content="website"><meta property="og:url" content="https://example.com/page"><meta property="og:image" content="https://example.com/image.jpg"><meta property="og:description" content="分享時顯示的描述"><!-- Twitter卡片元數據 --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="頁面標題"><meta name="twitter:description" content="Twitter分享描述"><meta name="twitter:image" content="https://example.com/image.jpg"><!-- 移動端主題顏色(Chrome/Android) --><meta name="theme-color" content="#ffffff"><!-- 禁止電話號碼自動識別(移動端) --><meta name="format-detection" content="telephone=no"><!-- 禁止郵箱地址自動識別(移動端) --><meta name="format-detection" content="email=no"><!-- 禁止地址自動識別(移動端) --><meta name="format-detection" content="address=no"><!-- 禁止日期自動識別(移動端) --><meta name="format-detection" content="date=no"><!-- 其他可能用到的meta標簽 --><meta name="generator" content="生成此頁面的工具名稱"><meta name="copyright" content="版權信息">
</head>

html 頁面結構

<body><header><img/><h1>H1 Title</h1><nav></nav></header><main></main>
</body>
  • header 元素將用于介紹頁面,以及提供導航菜單。
  • main 元素將包含頁面的核心內容。

img 尺寸

img 當前是默認尺寸,這個尺寸太大。 CSS 提供了一個 max 函數,它返回一組由逗號分隔的值中最大的值。 例如:

img {width: max(250px, 25vw);
}

在以上示例中,如果視口寬度小于 1000 像素,圖像的寬度將為 250px。 如果視口寬度大于 1000 像素,圖像寬度將為 25vw。 這是因為 25vw 相當于視口寬度的 25%。

徽標應保持35/4的縱橫比,并在文本周圍添加填充。

img {width: max(10rem, 18vw);background-color: #0a0a23;aspect-ratio: 35/4;  # 縱橫比padding: 0.4rem;
}
h1 {font-size: min(5vw, 1.2em);font-family: Verdana, Tahoma;
}

子選擇器 >

子組合子選擇器>用于選擇器之間,僅針對與第二個選擇器匹配并且是第一個選擇器的直接子元素的元素。

可以使用role屬性向輔助技術指示頁面上元素背后的目的。role屬性是Web Accessibility Initiative(WAI)的一部分,接受預設值。

<form method="post" action="https://freecodecamp.org/practice-project/accessibility-quiz"><section role="region" aria-labelledby="html-questions"><h2 id="html-questions">HTML</h2></section><section role="region"></section><section role="region"></section>
</form>

a 錨點

a 元素的錨點給定,對應元素的id,寫法如下:

<a href="#html-questions"></a>
input type="date"

僅屏幕閱讀器可見

.sr-only(??Screen Reader Only??,僅屏幕閱讀器可見)是一種常見的 CSS 類,用于創建??僅對輔助技術(如屏幕閱讀器)可見,但對普通視覺用戶不可見??的內容。它通常用于增強網頁的可訪問性(A11Y),例如為圖標添加隱藏的文本描述,或為視覺元素提供額外的上下文信息。

.sr-only {position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0, 0, 0, 0);clip-path: inset(50%);white-space: nowrap;
}
屬性作用為什么需要?
position: absolute;將元素脫離文檔流避免占據布局空間,防止影響其他元素的排列。
width: 1px; height: 1px;設置極小尺寸讓元素在視覺上“消失”,但保留 DOM 存在。
overflow: hidden;隱藏溢出內容確保內容不會從極小尺寸的盒子中溢出。
clip: rect(0, 0, 0, 0);裁剪到 0 大小徹底裁剪內容,確保不可見(舊版瀏覽器支持)。
clip-path: inset(50%);現代裁剪方式更靈活的裁剪(兼容現代瀏覽器,作為 clip的補充)。
white-space: nowrap;禁止文本換行防止文本換行導致內容意外可見。

??兼容性覆蓋??:
clip是舊版屬性(已廢棄,但部分舊瀏覽器仍支持)。
clip-path是現代替代方案(如 Firefox 需要它才能完全隱藏內容)。
??防御性設計??:多重屬性確保在各種瀏覽器和縮放級別下內容均不可見,避免因渲染差異導致意外暴露。

<textarea rows='3' cols="50"></textarea>

本項目的兩個最終語義HTML元素是頁腳和地址元素。頁腳元素是與頁面相關內容集合的容器,而地址元素則是頁面作者聯系信息的容器。

li 元素的懸停設置

nav > ul > li:hover {background-color: #dfdfe2;color: #1b1b32;cursor: pointer;
}

小屏幕防止溢出

在小屏幕上,導航欄中的無序列表會溢出到屏幕右側。
通過使用Flexbox來包含ul內容來解決此問題。然后,設置以下CSS屬性以正確對齊文本:

align-items: center;
padding-inline-start: 0;
margin-block: 0;
height: 100%;
.info label, .info input {display: inline-block;
}

這行 CSS 代碼的作用是為 ??所有 HTML 元素??(* 是通配符選擇器)應用 scroll-behavior: smooth 屬性,實現頁面滾動時的??平滑過渡效果?(非瞬間跳轉).
讓瀏覽器在滾動到某個位置時(如錨點跳轉、JavaScript 觸發的滾動),??平滑過渡??而不是瞬間跳轉,提升用戶體驗。

* {scroll-behavior: smooth;
}

這段CSS代碼的作用是??為頁面添加平滑滾動效果??,但會??優先考慮用戶的無障礙偏好??。

@media (prefers-reduced-motion: no-preference) {html {scroll-behavior: smooth;}
}

??prefers-reduced-motion??
這是一個CSS媒體查詢,用于檢測用戶是否在系統設置中啟用了??“減少動畫”??選項(常見于無障礙需求)。 no-preference
表示用戶未明確要求減少動效。

scroll-behavior: smooth?? 為所有元素(* 通配符)啟用平滑滾動效果。 當用戶點擊錨點鏈接(如
#section)或調用 window.scrollTo() 時,頁面會平滑滾動而非瞬間跳轉。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/89958.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/89958.shtml
英文地址,請注明出處:http://en.pswp.cn/web/89958.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# 調用CodeSoft模板打印標簽,編輯模板覆蓋根目錄的文件,不能拷貝

C# 調用CodeSoft模板打印標簽&#xff0c;編輯模板覆蓋根目錄的文件&#xff0c;不能拷貝&#xff0c;報文件已經打開。 原因&#xff1a;C#窗體關閉時&#xff0c;沒有關閉LabelManager2.ApplicationClass labApp&#xff0c;別忘記寫labApp1.Quit(); if (labApp1 ! null) {la…

Logback簡單使用

Logback 日志框架介紹 正如你所知&#xff0c;開發者擁有大量日志工具可供選擇。本節中&#xff0c;我們將學習一個非常流行的日志庫 —— Logback。它是 Log4j 日志庫的繼任者&#xff0c;基于相似的理念構建。Logback 在同步和異步日志記錄方面都非常快速&#xff0c;并提供了…

Python爬蟲實戰:研究langid.py庫相關技術

一、引言 在當今全球化的網絡環境下,互聯網上的內容呈現出多語言的特點。對于許多自然語言處理 (NLP) 任務,如文本分類、情感分析和信息檢索,準確識別文本的語言是首要步驟。網絡爬蟲作為獲取互聯網內容的重要工具,結合語言識別技術,可以為多語言信息處理提供豐富的數據來…

打車代駕 app 派單接單系統模塊搭建

一、邏輯分析打車代駕 APP 的派單接單系統模塊是整個應用的核心部分&#xff0c;它需要高效、準確地處理訂單分配和司機接單流程&#xff0c;以確保用戶能夠快速得到服務&#xff0c;司機能夠合理地接到訂單。用戶端下單邏輯&#xff1a;用戶打開 APP&#xff0c;輸入出發地、目…

Java Stream API性能優化:原理深度解析與實戰指南

Java Stream API性能優化&#xff1a;原理深度解析與實戰指南 技術背景與應用場景 隨著大數據量處理和高并發場景的普及&#xff0c;傳統的集合遍歷方式在代碼可讀性和性能上逐漸顯現瓶頸。Java 8引入的Stream API&#xff0c;通過聲明式的流式編程極大提升了開發效率和可讀性&…

Nginx配置proxy protocol代理獲取真實ip

Nginx配置proxy protocol 文章目錄Nginx配置proxy protocol前言一、PROXY Protocol協議二、配置方法代理服務器配置http模塊代理??Stream 模塊?代理測試配置是否生效端口檢查測試ip記錄驗證http驗證tcp注意事項和理解誤區應用程序機器配置總結前言 在現代開發中有很多場景需…

什么是商業智能BI數據分析的指標爆炸?

指標爆炸這個詞大家可能都是第一次聽說&#xff0c;指標怎么會爆炸呢&#xff1f;其實這個是我們很多年前在一些商業智能BI項目上總結出來的一種場景或者現象&#xff0c;就是過于的開放給業務人員在BI自助分析過程中創造了很多衍生性的分析指標&#xff0c;結果就造成了前端指…

Spring AI 系列之十八 - ChatModel

之前做個幾個大模型的應用&#xff0c;都是使用Python語言&#xff0c;后來有一個項目使用了Java&#xff0c;并使用了Spring AI框架。隨著Spring AI不斷地完善&#xff0c;最近它發布了1.0正式版&#xff0c;意味著它已經能很好的作為企業級生產環境的使用。對于Java開發者來說…

Linux學習之Linux系統權限

在上一篇的內容中我們學習到了Linux系統命令相關的知識及其相關的擴展內容&#xff0c;本期我們將學習Linux基礎的另一個重要部分&#xff1a;Linux系統權限管理 作者的個人gitee&#xff1a;樓田莉子 (riko-lou-tian) - Gitee.com 目錄 權限概念及必要性 什么是權限 為什么要…

Web3.0 能為你帶來哪些實質性的 改變與突破

如今各種大廠裁員消息層出不窮&#xff0c;今年又添飛書、剪映、微軟、思科... 這有一張網友整理的去年互聯網大廠裁員裁員信息表&#xff1a; 目前國內很多大廠都在裁員&#xff0c;非常現實、且越來越多 35 技術人&#xff0c;正在面臨這樣的問題&#xff0c;那么Web3.0 確實…

doker centos7安裝1

1.什么是doker Docker 是一個開源的應用容器引擎&#xff0c;它允許開發者將應用程序及其依賴項打包到一個可移植的容器中&#xff0c;然后發布到任何支持 Docker 的操作系統上&#xff0c;實現 “一次構建&#xff0c;到處運行”。 容器是一種輕量級的虛擬化技術&#xff0c…

自動化面試題

1、什么是測試套件測試套件是多個測試用例的集合。2、搭建接口自動化框架中&#xff0c;你遇到最大的難點是什么&#xff0c;以及怎么解決的?測試數據動態管理難點:接口依賴動態參數(如Token、訂單ID)&#xff0c;數據無法硬編碼.解決方案:使用關聯提取(如正則提取響應中的Tok…

【Linux】LVS(Linux virual server)環境搭建

一、LVS的運行原理1.1 LVS簡介LVS:Linux Virtual Server&#xff0c;負載調度器&#xff0c;內核集成&#xff0c;章文嵩&#xff0c;阿里的四層SLB(Server LoadBalance)是基于LVSkeepalived實現LVS 官網: http://www.linuxvirtualserver.org/ LVS 相關術語 VS: Virtual Server…

算法競賽備賽——【圖論】求最短路徑——Dijkstra

Dijkstra 用來計算從一個點到其他所有點的最短路徑的算法&#xff0c;是一種單源最短路徑算法。也就是說&#xff0c;只能計算起點只有一個的情況。Dijkstra的時間復雜度是O (|v|^2)&#xff0c;它不能處理存在負邊權的情況。 鄰接矩陣存圖 #include<iostream> using …

影刀 RPA:批量修改 Word 文檔格式,高效便捷省時省力

在日常辦公和文檔處理中&#xff0c;Word 文檔格式的統一和規范是許多企業和個人用戶的重要需求。無論是撰寫報告、制作提案&#xff0c;還是整理資料&#xff0c;都需要確保文檔格式的一致性。然而&#xff0c;手動修改多個 Word 文檔的格式不僅耗時費力&#xff0c;還容易因疏…

GitLab 社區版 10.8.4 安裝、漢化與使用教程

一、GitLab 安裝 GitLab 提供了集成所需軟件的 RPM 包&#xff0c;簡化了安裝流程。我們選擇安裝社區版&#xff08;CE&#xff09;10.8.4&#xff0c;可通過官方網站或國內鏡像源&#xff08;如清華鏡像&#xff09;獲取安裝包。 1. 準備工作 首先創建工具目錄并進入&#…

[硬件電路-64]:模擬器件 -二極管在穩壓電路中的應用

二極管在穩壓電路中的應用主要基于其單向導電性和特定類型二極管&#xff08;如穩壓二極管&#xff09;的電壓穩定特性。以下是詳細解釋&#xff1a;一、普通二極管的穩壓作用&#xff08;有限場景&#xff09;正向導通壓降的利用&#xff1a;原理&#xff1a;普通二極管在正向…

【Linux】重生之從零開始學習運維之Nginx

安裝apt/yum安裝apt imstall nginx yum install nginxRocky源碼編譯安裝基礎編譯環境yum install gcc make gcc-c glibc glibc-devel pcre pcre-devel openssl openssldevel systemd-devel zlib-devel yum install libxml2 libxml2-devel libxslt libxslt-devel php-gd gd-deve…

主流 MQ 的關鍵性能指標

常用消息隊列&#xff08;MQ&#xff09;的“數量級”通常圍繞吞吐量&#xff08;TPS&#xff0c;每秒處理消息數&#xff09;、消息堆積能力、延遲三個核心指標展開&#xff0c;不同MQ因設計目標&#xff08;高吞吐、低延遲、高可靠等&#xff09;不同&#xff0c;數量級差異顯…

[NIPST AI]對抗性機器學習攻擊和緩解的分類和術語

原文link&#xff1a;https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.100-2e2025.pdf Introduction 人工智能&#xff08;AI&#xff09;系統在過去幾年中持續全球擴展。這些系統正在被眾多國家開發并廣泛部署于各自的經濟體系中&#xff0c;人們在生活的許多領域都獲得了更多使…