整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS布局入門,小白的福利 網友:已收藏

          CSS布局入門,小白的福利 網友:已收藏

          過去的幾年中,CSS布局以及我們開發網站前端的方式發生了巨大變化。現在,在CSS用于開發站點的布局方法方面,我們有了真正的選擇,這意味著我們經常需要選擇采用哪種方法。在本文中,我將通過解釋如何使用它們以及如何使用它們的基礎知識,介紹您可以使用的各種布局方法。

          結構化文檔以利用常規流程

          通過確保文檔以結構良好的方式開始,您可以利用正常的流程。想象一下,如果不是瀏覽器這種正常流動的概念,而是瀏覽器將所有盒子堆疊在彼此的角上,直到創建布局。那意味著您將必須將所有單個內容放置在頁面上。而是,瀏覽器以立即可讀的方式顯示我們的內容。

          如果您的CSS無法加載,則用戶仍然可以閱讀內容,而完全不獲取CSS的用戶(例如,使用屏幕閱讀器的用戶)將按照文檔中的順序將內容交付給他們。從可訪問性的角度來看,使HTML文檔井井有條地開始生活至關重要。但是,這也將使您作為Web開發人員的生活更加輕松。如果您的內容符合用戶希望閱讀的順序,則無需對布局進行大量更改即可將其放置在正確的位置。使用更新的布局方法,您可能會驚訝于您要做的事很少。

          因此,在考慮布局之前,請考慮文檔結構和您希望從文檔頂部到底部閱讀內容的順序。

          遠離正常流量

          有了結構合理的文檔后,我們需要決定如何采用該文檔并將其轉換為所需的布局。對于我們文檔的某些部分,這將涉及偏離正常流程。我們有整套的布局方法可供使用。我們將要研究的第一種方法是float,因為浮點數很好地說明了從正常流中取出元素的含義。

          浮點數

          浮動框用于將框向左或向右移動,以使內容圍繞它顯示。

          為了浮動項目,請使用CSS屬性float和一個left或right值。float的默認值為none。

          值得注意的是,當您浮動一個項目并用文本環繞時,會縮短該內容的行框。如果您浮動某個項目,并且以下包含您的文本的框應用了背景色,則可以看到該背景色將在該浮動項下運行。

          在縮短行框以在浮動文本和自動換行文本之間留出空間時,必須在浮動項目上設置邊距。文本上的邊距只是將文本從容器的邊緣移入。對于向左浮動的圖像,假設您希望圖像與容器的頂部和左側齊平,則應在右側和底部添加邊距。

          內容的背景色在浮動下運行

          清算浮動

          浮動元素后,以下所有元素將環繞該浮動元素,直到它們包裹在下面,并且正常流程繼續進行。如果要防止這種情況,則需要清除浮點數。

          在要在浮動之后開始顯示的元素上,添加clear值為left 的屬性以指示清除向左浮動的項目,向右以清除向右浮動的項目,或同時清除所有浮動。

          如果希望元素在浮點后開始,則上述方法有效。如果您發現自己的狀態是盒子里有一個漂浮的物品,并且旁邊有一些文字,那將無濟于事。如果文本比浮動項目短,則將在內容下方繪制該框,而忽略浮動項目。正如我們已經了解的那樣,浮點數會縮短線框,其余的布局將繼續正常流動。

          為了防止這種情況,我們需要清除包裝箱內的東西。我們可以添加一個空元素并將其設置為清除所有元素。這涉及將空div粘貼到我們的文檔中,這并不理想,如果您的頁面是由CMS生成的,則可能無法實現。因此,典型的清除浮動方法是所謂的清除修補程序。此方法通過添加CSS生成的內容并將其設置為清除兩者來起作用。

          塊格式化上下文

          清除框內浮點數的另一種方法是在容器上調用塊格式化上下文(BFC)。塊格式上下文包含其中的所有內容,其中將包括無法再戳出框底部的浮動項目。有幾種強制BFC的方法,清除浮點數時最常見的方法是將溢出屬性設置為具有默認可見值以外的值。

          以這種方式使用溢出通常會起作用,但是,在某些情況下,您最終可能會在項目上留下陰影或不必要的滾動條。在樣式表中看起來也有些混亂:您是否設置了溢出是因為需要滾動條還是只是為了獲得這種清除功能?

          為了使意圖更清晰并防止創建BFC引起不必要的副作用,可以將其flow-root用作該display屬性的值。唯一要做的display: flow-root就是創建一個BFC,從而清除浮標而不會引起其他問題。

          浮點數的舊用法

          在使用較新的布局方法來創建列布局之前,浮動技術一直通過為一組項目提供一定的寬度并將它們設置為彼此相鄰浮動來起作用。仔細管理這些浮動框的百分比大小可能會產生網格效果。

          我不建議立即開始新設計并使用此方法。但是,它將在現有站點中保留很多年。因此,如果遇到幾乎所有東西都漂浮的設計,那么這就是使用的技術。

          定位

          要從普通流中刪除元素或將其從普通流中的位置移開,可以使用positionCSS中的屬性。正常流動時,元素position的static。這些項目在“塊”維度中一個接一個地顯示,如果滾動頁面,它們也會隨之滾動。

          更改位置值時,通常還會使用偏移值將框從特定參考點移開。使用的參考點取決于您使用的位置值。

          相對定位

          如果項目具有position: relative參考點,則該參考點通常是正常流動的地方。然后,您可以使用偏移的屬性值top,left,bottom和right移動從那里通常會顯示框。

          請注意,頁面上的其他項目不會響應元素的新位置。保留了它在正常流程中的位置,因此您需要自己管理所有重疊部分。

          絕對定位

          設置position: absolute的一個項目,它完全從正常流程中移除。剩下的空間將被刪除。然后,將相對于其包含的塊定位該項目,除非將其嵌套在另一個定位的元素內,否則它將為視口。

          因此,如果position: absolute在項目上進行設置,將會發生的第一件事是,它通常最終會卡在視口的頂部和左側。然后,您可以使用偏移的屬性值top,left,bottom并right從該位置移動框,你希望它是。

          通常,您不希望根據視口放置盒子,但是在引用包含元素時,它位于內部。在這種情況下,您需要為包含該元素的位置賦予默認靜態值以外的位置值。

          由于設置position: relative不會從正常流程中刪除該項目,因此這是通常的選擇。給您希望設置偏移的父元素,position: relative然后從該元素的邊界偏移絕對定位的塊。

          固定定位

          position: fixed在大多數情況下,帶有的東西將相對于視口放置,并從文檔流中刪除,因此不會為其保留任何空間。滾動頁面時,固定元素將相對于視口保持在適當的位置,因為正常流中的其余內容照常滾動。

          這有助于啟用固定的導航面板,該面板在屏幕上(例如,在內容滾動時)保持在屏幕上。與其他定位值一樣,這樣做可能會導致重疊,因此應注意所有內容都可以讀取并且不會以固定項目結尾。

          文是“小網站”系列的第 4 篇。本系列介紹一些作者主觀認為值得把玩的“小網站”,愿朋友們多少都能有所收獲。這個系列會長期更新,對這個系列感興趣的朋友可關注,不迷路。

          --- 今日介紹 ---

          大海環境“白噪音” (VirtOcean)

          把玩點:

          • 適合減壓;
          • 適合午休、陽臺曬太陽;
          • 睡不著時可催眠;
          • 適合專心辦公;
          • 技術擬真特效的樣板;

          地址 https://virtocean.com

          主觀評價:趣味性 3.5 星,技術性 4 星


          --- 使用指北 ---

          還有白噪音這么個東西?什么是白噪音?

          白噪音是一種比較友好的噪音,它是一種頻率相對來說很均勻的聲音,人能接受,所以大多數人聽上去感覺還很和諧。

          大自然中的很多聲音都可以稱之為白噪音,如風吹樹葉沙沙聲、雨天雨水滴答聲、大海潮起潮落聲、沙灘行走聲、輪船汽笛聲、海浪拍打巖石的聲音、鳥鳴鳥叫的聲音等等....

          今天介紹的VirtOcean就是屬于白噪音“小網站”,囊括一切與大海相關的環境音。網站支持電腦與手機端,不過在電腦上表現的要比手機上更優秀,手機上有兼容性的小問題。

          電腦上打開網站,映入眼簾的是一片逼真的大海,太逼真了,比3A游戲還要逼真,感覺跟現實中的海水一樣。當然,如果電腦太慢的朋友會覺得有點卡,因為使用了與3D相關的技術。

          使用主界面

          界面頂部右上角的開關支持白天、黑夜兩種模式。

          黑夜白天模式開關

          下面一排菜單中“Mute SFX”是靜音、“Full DSP”是界面全屏,“Hide UI”是隱藏操作界面,讓你好好的享受大海的。如果點了隱藏操作界面不知道如何還原,試試左下角的SHOW UI。

          功能菜單

          網站打開默認是沒有聲音的,打開音箱或者戴上耳機,點擊界面上圖標就能聽到聲音了,都有哪些聲音呢:

          • Calming sea : 相對平和一些的海水聲音
          • Peaceful ocean : 正常的海洋中海浪的聲音
          • Rough storm : 暴風雨般海水拍打的聲音
          • Rowing a boat : 劃小船的聲音
          • Boat mast : 帆船的聲音
          • Seagulls : 海鷗海鳥的聲音
          • Dolphins : 海豚的聲音
          • Sailboat interior : 船艙內部的聲音
          • Distant foghorn : 遠遠的大輪船的聲音
          • Walking on a beach : 光腳走在沙灘小石籽的聲音
          • Underwater diving : 潛水的聲音
          • Submarine ambiance : 海面下環境音
          • Buoy bells : 海上浮標聲音
          • Motor boat trip : 海上輕快摩托艇的聲音
          • On the land : 海邊陸地上鳥、蒼蠅、動物的環境音

          不同類型聲音支持多個組合播放,作者通常選擇Calming sea 加上 Submarine ambiance 一起組合播放,戴上低音耳機,閉上眼睛,曬著窗外的太陽,躺在椅子上,非常享受且慵懶的睡個午覺。

          選擇個舒服的姿勢,快來一起享受吧!


          --- 干貨知識 ---

          本小節屬于技術解析環節,純技術性干貨,適合技術人員,非行業人士可忽略。

          網站雖然很簡單,實現技術不簡約:

          • 非常逼真的水環境;
          • 潮起潮落;
          • 磨砂玻璃般的選擇界面;
          • 逼真的聲音;
          • 多聲音播放;

          先看聲音,經分析,聲音是由一些WAV文件組件,聲音來源于https://freesound.org 這個網站,很多聲音是免費的,可以下載,前提是要有一個賬號。

          有了聲音就要播放,播放的組件來源于一款jQuery的插件,jquery.jplayer.min.js,該插件支持mp3,mp4,ogg,webm,wav,rtmp,flv的播放,操作非常簡單,不多贅述。

          磨砂玻璃的效果,來源開源代碼 https://codepen.io/TurkAysenur/pen/ZEpxeYm ,前端的同學可以自行研究實現原理。

          重頭戲是大海的模擬,網站的作者采用的是一款開放源代碼的實現,名稱叫2050,實現地址 https://codepen.io/xorxor_hu/pen/mOWbVG

          真正的技術就藏在上述2050項目的JS代碼中,實現采用的是three.js框架,它在互聯網圈可是鼎鼎有名呢,大到3D游戲,中到三維仿真(物聯網、BIM大屏、數字孿生)場景,小到我們介紹的小網站,但凡網頁上用到三維的東西,都離不開它。

          講到three.js就不得不提OpenGL和WebGL了。OpenGL是一個跨平臺的3D/2D的繪圖規范,它是“爺爺”,后來有了在網頁上顯示3D的需求,怎么辦?WebGL協議就出來了,它允許你把JavaScript+OpenGL結合一起玩,不過用WebGL原生的API寫程序太復雜,要的數學知識也挺多的,于是three.js出來了,它對WebGL的原始API進行了大量封裝,讓你極大的提高開發效率,降低學習成本。先前大家喜歡玩的微信跳一跳也是基于three.js開發的喲!

          three.js涉及到相當多的3D相關知識點:攝像機、場景、渲染器、材質、燈光、貼圖、烘焙、光照、法線、物體、動畫、天空盒等...有興趣的同學可以找些書來深入研究,會這個了,計算機中的3D的世界就被你拿下了...

          本系列長期更新!

          喜歡的朋友,感謝點贊、分享、收藏三連!

          、小白劇場

          大東:小白,你對地震檢測了解多少?
          小白:我不是地質專業的,是網絡空間安全專業的,這個學科跨度太大了,基本不怎么了解,唯一一點的了解是張衡發明了地動儀,哈哈!大東你給我講講吧。
          大東:中國地震局檢測中心聽說過吧。國家地震科學數據共享中心設在中國地震臺網中心,是地震科學數據共享工程的主體和核心,承擔地震科學數據共享服務技術體系的構建和主體數據庫的整合與改造。專業數據共享分中心設在各研究所,承擔專業數據資源的整合與改造,以及專業數據的共享發布與服務。省級數據節點是國家地震科學數據共享中心的主要數據源。
          小白:大東,你怎么突然提到地震檢測了,這個和網絡安全有什么關系嗎?
          大東:小白,還真就猜對了,這個和國家安全的關系非常大。
          小白:這個怎么說?
          二、話說事件
          大東:最近熱點網絡安全事件“關于我國某地震監測中心遭到網絡攻擊”你聽說了嗎?
          小白:啊,這個事件我還真不知道呢,大東仔細講講吧。
          大東:日前,我國某地震監測中心的部分網絡設備被植入木馬病毒,初步判定這一事件為境外具有政府背景的黑客組織和不法分子發起的網絡攻擊行為。

          木馬攻擊(圖片來源:網絡)
          小白:又是境外!這是去年西北工業大學遭受網絡攻擊后又一具體案例了吧。
          大東:對!小白說的沒錯,經監測發現,其所屬地震監測中心部分地震速報數據前端臺站采集點網絡設備遭受境外組織的網絡攻擊。
          小白:數據泄露,不對啊,我剛才都能在網站上找到地震數據,這些數據不是公開的嗎?
          大東:是的,很多地震數據都是公開的,但地震數據關乎國家安全。
          小白:地震數據和國家安全,這個有什么關系呢?
          大東:地震波穿過的地下介質、結構不同時會產生波速的變化。而獲取地震監測中心的相關數據可以推導出某一區域的地下結構和巖性。例如推測地下是否有大型的空洞,進而推測它是否是軍事基地或者指揮所。
          小白:啊,雖然不明這些專業知識,但是地震數據能推測軍事基地,這也太可怕了。
          大東:這背后的技術邏輯就是異常行為發現。其實早在2021年的BlackHat Asia大會上,以色列的研究人員將連接在望遠鏡上的光學傳感器指向待竊聽房間的一個閃亮的物體,如鋁垃圾桶、金屬魔方等,他們可以檢測到物體表面上的可見振動,從而使它們能夠發出聲音,進而能夠竊聽到房間內的講話。
          小白:東哥這個事情好像我們以前解讀過。感興趣的讀者可以回顧一下:百葉窗真的能隔絕隱私嗎?——Black Hat Asia大會上的新型竊聽技術丨大東話安全

          BlackHat Asia 2021海報(圖片來自網絡)

          三、大話始末
          大東:其實如果對相應場景展開推演和預測,就能發現數字安全的未來發展規律和脈絡。
          小白:異常行為發現領域?
          大東:不只局限于這個領域。在千行百業數字化轉型的過程中,其實會衍生出越來越多的流程和場景,那么在這些新增的流程和場景中,自然也會暴露出越來越多以前我們沒有遇到過的安全問題。
          小白:比如,什么樣的數字化場景呢?
          大東:海洋牧場你聽說過嗎?
          小白:牧場不是應該在草原嗎,怎么跑到海洋呢?
          大東:海洋牧場就是利用數字化手段,引入先進的信息技術來實現智能化管理和可持續發展。
          小白:這聽起來真不錯!我記得以前水產養殖領域主要是靠生態學原理和管理模式來養殖水生生物的,現在數字化轉型會帶來哪些變化、新增哪些流程呢?
          大東:數字化轉型當然要布設觀測站,聯合衛星、飛機、水面浮標和水下潛水器等工具,建立立體觀測系統,實時監測海洋牧場的環境和生物狀況。這樣可以更精確地評估環境和資源質量,實現針對性的調整,提高生態效益。
          小白:那么這里面暗藏的數字安全可能會面臨什么風險和挑戰呢?
          大東:海洋牧場數字化轉型雖然有很多好處,但也會引發一些風險。惡意黑客可能會試圖入侵工業控制系統,數據和狀態監測系統等,篡改PLC的重要狀態數據,或直接利用電磁信號構建側信道攻擊,導致儀器設備的損壞乃至戰略決策的失誤。
          小白:明白,可能產生其他風險嗎?
          大東:當然,數字化設備的互聯可能會暴露更多的攻擊面,比如對水下機器人進行控制或干擾。未來的水下機器人如果是AI驅動的,那就會產生“意識攻擊”,形成AI與AI之間的對抗網絡,這后果不堪設想。
          小白:這么嚴重!那真的需要高度的網絡安全保障措施。不過,除了海洋牧場中蘊含的工控安全場景,其實還有一些其他領域也會面臨數字安全挑戰,比如區塊鏈安全等。
          大東:你提得對!區塊鏈安全是關于保護區塊鏈系統免受攻擊和篡改的問題,它涉及到密碼學和分布式系統的保護,就會首先面臨“51%攻擊”的加劇風險。因為區塊鏈的安全依賴于多數節點的誠實行為,如果惡意參與者控制了網絡上超過51%的算力,他們就有可能篡改交易記錄,這對整個區塊鏈系統的安全性構成威脅。
          小白:那確實是個問題。
          大東:總之,數字安全場景將隨時面臨挑戰和風險。我們需要不斷提升數字場景的安全性,融合其各自特征,夯實安全基礎、加固安全措施。數字安全建設任重道遠。
          四、小白內心說
          小白:東哥今天的講解給了我很大啟發。隨著傳統行業的不斷數字化,以及千行百業的深度數字化融合進程的推進,數字安全問題不再局限于特定領域。無論是金融、醫療、制造,還是農業、海洋等領域,都需要構建強有力的數字安全韌性能力屏障,以保護關鍵數據和系統免受威脅。我們需要站在更宏觀的層面來統籌考慮數字安全問題,避免陷入“只見樹木不見森林”的誤區。

          參考資

          1. 國家地震科學數據中心https://baike.baidu.com/item/%E5%9B%BD%E5%AE%B6%E5%9C%B0%E9%9C%87%E7%A7%91%E5%AD%A6%E6%95%B0%E6%8D%AE%E4%B8%AD%E5%BF%83/23563408
          2. 武漢地震監測中心遭境外木馬攻擊https://finance.sina.com.cn/tech/roll/2023-07-28/doc-imzefkcz7993803.shtml
          3. 美國為何會攻擊中國的地震監測中心?https://mp.weixin.qq.com/s/JUwWKazzBVLD2yyETiTkUQ

          4. 國家地震科學數據中心官網https://data.earthquake.cn/index.html

          來源:中國科學院信息工程研究所

          主站蜘蛛池模板: 竹菊影视欧美日韩一区二区三区四区五区 | 久久精品午夜一区二区福利| 日韩aⅴ人妻无码一区二区| 精品欧洲AV无码一区二区男男 | 久久综合精品不卡一区二区| 中文字幕在线无码一区| 无码日韩精品一区二区人妻| 中文字幕亚洲一区二区va在线| 亚洲一区二区视频在线观看| 国产一区二区内射最近更新| 78成人精品电影在线播放日韩精品电影一区亚洲 | 中文字幕色AV一区二区三区| 秋霞午夜一区二区| 久久久久一区二区三区| 日韩精品无码一区二区三区| 日本不卡一区二区三区| 色欲综合一区二区三区| 久久精品国内一区二区三区| 激情爆乳一区二区三区| 国产午夜福利精品一区二区三区| 无码人妻精品一区二区三区久久 | 四虎在线观看一区二区| 精品一区二区三区免费观看| 91午夜精品亚洲一区二区三区| 玩弄放荡人妻一区二区三区| 亚洲一区二区视频在线观看| 天堂资源中文最新版在线一区| 久久久无码精品人妻一区 | 国模吧一区二区三区精品视频| 久久国产精品一区| 在线播放偷拍一区精品| 国产AV国片精品一区二区| 亚洲欧洲精品一区二区三区| 无码日韩人妻AV一区二区三区| 99久久人妻精品免费一区| 国产美女口爆吞精一区二区| 亚洲日韩国产一区二区三区在线 | 麻豆精品久久久一区二区| 久热国产精品视频一区二区三区| 国产福利视频一区二区| 国产一区二区三区手机在线观看 |