在使用Java做後台的時候,都會做到登入的頁面,但是自己的頁面太難看了,要居中沒居中,要顏色沒顏色,但是無論是怎麼樣都得使登錄的框居中吧!先前的想法是透過CSS Div使div居中,但現在的想法改變了,透過JavaScript可以簡單的使Div在頁面上居中,隨著網頁大小的改變做出相應的改變。而且只要明白了居中的原理輕而易舉的就可以實現了。
先看一下居中的原理吧!
先看一張圖。
從圖中看到了什麼?可以看到紅色的框框居中了,為什麼會居中呢?透過觀察可以發現紅框的上下的藍色的間距線是一樣長的,這樣可以確保了垂直居中,紅框的左右的綠色間距線也是一樣長的,這樣可以確保了水平居中。
但是怎麼使上下的間距相等呢?左右的間距相等呢?
在看一張圖:
假設目前網頁的高為350px,寬為400px,而紅框的高為150px,寬為200px,我們可以發現網頁的高減去紅框元素的高得到200px像素,而這200px像素正是上下邊距的總和,上下邊距各得到了100px,同理,左右也是一樣的。
有沒有感覺到什麼?
如果我們知道了網頁元素的高或寬,減去元素的高或寬,然後在除以2,就得到了上下左右邊距的距離。我們通常給元素的定位是怎麼訂的呢?不都是透過top和left的座標定的嗎?那麼現在紅框的座標是什麼呢?
再看一張圖:
紅色框的座標是藍色的上線100px,和綠色的左線100px,即left和top的值,這兩個值不是算出來的嗎?
可以總結一個公式:
居中的元素的top =(網頁高–元素的高)/ 2;
居中的元素的left= (網頁寬–元素的寬) /2;
轉換為JavaScript的語法為:
top = (document.body.clientHeight - element.offsetHeight)/2;
left = (document.body.clientWidth - element.offsetWidth)/2
取得到top和left的座標不就居中了。
以下是居中的完整程式碼:
這裡要注意幾個問題,要設定元素的position的屬性為absolute,也就是絕對定位,然後加入兩個事件onload和onresize,要加上px的字串,offsetHeight是取得元素本身的高,offsetWidth是取得元素本身的寬,這就是當網頁載入時和改變大小時div都會居中。不過這種做法是居中的元素和網頁的居中,如果想要一個元素在另一個元素的內部居中的話,原理是一樣的。我們只需要將網頁的寬和高的程式碼改為另一個元素的寬和高的程式碼就行了。另一個元素的寬和高可以透過取得到目前元素的parent元素的高和寬。這樣也是可以居中的。如果用jquery這個框架,那麼程式碼就更簡單了。
轉載請指明出處。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。1.Python以简洁语法和丰富库生态著称,适用于数据分析和Web开发。2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。

JavaScript不需要安裝,因為它已內置於現代瀏覽器中。你只需文本編輯器和瀏覽器即可開始使用。 1)在瀏覽器環境中,通過標籤嵌入HTML文件中運行。 2)在Node.js環境中,下載並安裝Node.js後,通過命令行運行JavaScript文件。

如何在Quartz中提前發送任務通知在使用Quartz定時器進行任務調度時,任務的執行時間是由cron表達式設定的。現�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。