focus 在 iOS 的行動裝置無法觸發 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 作者: cjzopen - 6月 13, 2019 $(document).on('focus','.slidedown',function(e){ alert('fired'); }); 以上 iPhone 無法觸發,但桌機和 android 都沒問題。 加上 click 之後 iPhone 才會觸發。 取得連結 Facebook X Pinterest 以電子郵件傳送 其他應用程式 留言
如何產生醒目顯示文字的連結?讓使用者一目瞭然的功能(Scroll to Text Fragment) 作者: cjzopen - 3月 29, 2021 若你在優化任何非網站的網址(Office文件、PDF、留言、Email、Google 我的商家、SERP結構化資料如 FAQ 中的網址),除了在網址使用 #id (錨點)之外,Scroll to Text Fragment 或許是另一個可以考慮的方式。 URL Scroll to Text Fragment 是什麼? 它的功能是在網址中設定文字,使用者點擊網址進入網頁後,可以看到被強調的文字,並將畫面移動到該文字處,文字高度在畫面中間。這並不是什麼新功能,早在 chrome 80 以後就出現在以 chrome 為核心的瀏覽器之中了。 如何創建? 複製醒目顯示文字連結 在 chrome 90 之後的版本,網頁上選取(反白)文字之後按右鍵,就會出現「 複製醒目顯示文字的連結 」的功能,點擊該功能產生的連結,貼到任何除了該連結頁面之外的地方,被點擊後就可以產生上一段文字提到的效果。如果沒有該功能,可能是被設定成關閉,網址列輸入 chrome://flags 並按下enter後,找到 Copy Link To Text 後就能開啟該功能(enabled)。 如何關閉? 但是,在最新版本的 chrome 中, chrome://flags 已經找不到 Copy Link To Text 這個指令了,換句話說就是沒辦法關閉這個功能,還請注意。 文字反白之後右鍵即可看見該功能 連結的架構與DIY 若不想透過 chrome 附加的功能直接設定使用的話,自己也可以設計出這種特殊網址,方法與錨點類似,不過是加上「 #:~:text= 」 完整結構: https://example.com#:~:text=[prefix-,]textStart[,textEnd][,-suffix] 方法1 整段文字: 只使用 textStart 的話是最簡單的使用方式: #:~:text=文字 ,它會當成要 highlight 的所有文字,就像 {示範連接} 的範例一樣。 方法2 文字區段: 你也可以打上兩段文字: #:~:text=文字1,文字2 ,分別代表開頭和結尾,它會找尋這一區段的文字 highlight,這裡也用 {示範連接} 開新分頁示範一次。 方法3 多段文字: 可以使用「&」區隔: #:~:text=文字1&text=文字2 。但是個人不建議這... READ THIS »
用CSS的 min max與vw cqw,設計有極限值的RWD響應式文字 作者: cjzopen - 2月 05, 2021 你是否有想過,max/min font size 的解法?能不能單靠 CSS 設計出會自動調整大小的 Responsive Font Size?答案是可以的! 文章目錄: vw 基本運用 極限問題 max()、min()、clamp() Container Queries與cqw/cqi 為何使用 vw? 在編寫 CSS 的時候,你可能習慣將網頁上的字體大小(font-size)使用 rem、em、px 等單位設定,但在講究 RWD 的情況下,甚至是 Google SEO 著重在手機介面的現在,總是會遇到桌機看起來很舒適,但畫面一變小,標題類的字就又太佔版面。 而使用 viewport width (vw) 當作字體大小的單位,就可以讓字體隨著視窗寬度的不同自動縮放其大小。 各瀏覽器支援 vw 的情況 vw 基本運用: vw 是視窗寬度的百分比,所以 1vw = 1%的視窗寬度。舉例來說,當視窗寬度為 1000px 且 font-size: 1.5vw 的時候,字體的大小就是 1000*1.5% = 15px。 h1,.h1{ font-size: 1.5vw; } 除了直接運用之外,也能搭配 calc 使用: h1,.h1{ font-size: calc(10px + 1.5vw); } 極限問題(max or min font size) 這是不管設計什麼東西都存在且必需要考慮的事情,vw 也不例外。 設計網頁一定會設一個網頁寬度,以此寬度設定做為最大值;而人的視力有限,以 16px 當作最小值。所以,當視窗被拉到極大或極小的時候,以 vw 為單位的字體勢必會變成你不想要的樣子,這時候我們就必需設定最大值和最小值,讓字體在合理的區間變動,而 media query 和 min()、max()就出現在解決辦法的清單之中: 以前的做法:Media Query 下面為使用的例子: h1,.h1{ font-size: 28px; } @media (min-width: 1600px) { h1,.h1{ font-size: 40px; } } @media (max-width: 480px) { h1,.h1{ font-size: 16px; } } ... READ THIS »
用CSS實現Apple的液態玻璃(Liquid Glass)UI 作者: cjzopen - 6月 10, 2025 不知道大家有沒有看了Apple的 WWDC25 ?先不論他們說了什麼,我只在想他們的液態玻璃(Liquid Glass)UI要如何實現(這裡討論的是靜態效果)。 部分UI改成毛玻璃樣式。 然而大部分元件則是改成不太一樣的液態玻璃樣式。 backdrop-filter 一開始當然是先想到從以前就有的毛玻璃效果(Glassmorphism),也就是用backdrop-filter來嘗試: See the Pen backdrop-filter by cj ( @cjzopen ) on CodePen . 但你可以發現,做不出底下文字或圖片扭曲的效果,於是就想到了SVG的filter。 <svg style="display: none;"> <filter id="wavy-distort"> <feTurbulence type="turbulence" baseFrequency="0.02" numOctaves="2" result="turbulence"/> <feDisplacementMap in2="turbulence" in="SourceGraphic" scale="10" xChannelSelector="R" yChannelSelector="G"/> </filter> </svg> feTurbulence 我們可以先在HTML裡創造一個擁有filter的SVG,其中包含feTurbulence: type: turbulence (亂流) / fractalNoise (雲)。 baseFrequency: 雜訊圖的密度。 numOctaves: 雜訊圖疊的層數。 result: 類似 id,後續拿來引用的名稱。 再使用feDisplacementMap引用feTurbulence: ... READ THIS »
留言
張貼留言