search
HomeWeb Front-endJS TutorialCenter a Div with JavaScript and change it as the page size changes_javascript tips

When using Java as the backend, I always create a login page, but my page is too ugly. It needs to be centered but not centered, and it needs to be colored but not colored. But no matter what, the login box must be centered! The previous idea was to center the div through CSS Div, but now the idea has changed. Through JavaScript, you can simply center the Div on the page and make corresponding changes as the size of the web page changes. And as long as you understand the principle of centering, it can be achieved easily.
Let’s take a look at the principle of centering first!
Look at a picture first.
Center a Div with JavaScript and change it as the page size changes_javascript tips
What do you see in the picture? You can see that the red box is centered. Why is it centered? Through observation, you can find that the blue spacing lines above and below the red frame are the same length, which ensures vertical centering, and the green spacing lines on the left and right of the red frame are also the same length, which ensures horizontal centering.
But how to make the upper and lower spacing equal? Are the left and right spacing equal?
Looking at a picture:
Center a Div with JavaScript and change it as the page size changes_javascript tips
Assume that the height of the current webpage is 350px and the width is 400px, and the height of the red box is 150px and the width is 200px. We can find that the height of the webpage is subtracted from The height of the red frame element is 200px pixels, and these 200px pixels are the sum of the upper and lower margins. The upper and lower margins are each 100px. Similarly, the left and right are the same.
Did you feel anything?
If we know the height or width of the web page element, subtract the height or width of the element, and then divide by 2, we will get the distance between the top, bottom, left and right margins. How do we usually determine the positioning of elements? Aren't they all determined by the coordinates of top and left? So what are the coordinates of the red box now?
Look at another picture:
Center a Div with JavaScript and change it as the page size changes_javascript tips
The coordinates of the red box are the blue upper line 100px and the green left line 100px, which are the values ​​of left and top. These two values ​​​​are not calculated. Of?
A formula can be summarized:
The top of the centered element = (height of the webpage – the height of the element) / 2;
The left of the centered element = (width of the webpage – the width of the element) /2;
The syntax converted to JavaScript is:
top = (document.body.clientHeight - element.offsetHeight)/2;
left = (document.body.clientWidth - element.offsetWidth)/2
Get The coordinates of top and left are not centered.
The following is the complete code for centering:
There are several issues to pay attention to here. You need to set the position attribute of the element to absolute, that is, absolute positioning, and then add two events onload and onresize, and add the px string. , offsetHeight is to get the height of the element itself, and offsetWidth is to get the width of the element itself. This means that the div will be centered when the web page is loaded and when the size is changed. However, this approach is centered on the element and the web page. If you want one element to be centered inside another element, the principle is the same. We just need to change the width and height code of the web page to the width and height code of another element. The width and height of another element can be obtained from the height and width of the parent element of the current element. This can also be centered. If you use the jquery framework, the code will be simpler.
Please indicate the source for reprinting.

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Python vs. JavaScript: A Comparative Analysis for DevelopersPython vs. JavaScript: A Comparative Analysis for DevelopersMay 09, 2025 am 12:22 AM

The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

Python vs. JavaScript: Choosing the Right Tool for the JobPython vs. JavaScript: Choosing the Right Tool for the JobMay 08, 2025 am 12:10 AM

Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

Python and JavaScript: Understanding the Strengths of EachPython and JavaScript: Understanding the Strengths of EachMay 06, 2025 am 12:15 AM

Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

JavaScript's Core: Is It Built on C or C  ?JavaScript's Core: Is It Built on C or C ?May 05, 2025 am 12:07 AM

JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

JavaScript Applications: From Front-End to Back-EndJavaScript Applications: From Front-End to Back-EndMay 04, 2025 am 12:12 AM

JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

Python vs. JavaScript: Which Language Should You Learn?Python vs. JavaScript: Which Language Should You Learn?May 03, 2025 am 12:10 AM

Choosing Python or JavaScript should be based on career development, learning curve and ecosystem: 1) Career development: Python is suitable for data science and back-end development, while JavaScript is suitable for front-end and full-stack development. 2) Learning curve: Python syntax is concise and suitable for beginners; JavaScript syntax is flexible. 3) Ecosystem: Python has rich scientific computing libraries, and JavaScript has a powerful front-end framework.

JavaScript Frameworks: Powering Modern Web DevelopmentJavaScript Frameworks: Powering Modern Web DevelopmentMay 02, 2025 am 12:04 AM

The power of the JavaScript framework lies in simplifying development, improving user experience and application performance. When choosing a framework, consider: 1. Project size and complexity, 2. Team experience, 3. Ecosystem and community support.

The Relationship Between JavaScript, C  , and BrowsersThe Relationship Between JavaScript, C , and BrowsersMay 01, 2025 am 12:06 AM

Introduction I know you may find it strange, what exactly does JavaScript, C and browser have to do? They seem to be unrelated, but in fact, they play a very important role in modern web development. Today we will discuss the close connection between these three. Through this article, you will learn how JavaScript runs in the browser, the role of C in the browser engine, and how they work together to drive rendering and interaction of web pages. We all know the relationship between JavaScript and browser. JavaScript is the core language of front-end development. It runs directly in the browser, making web pages vivid and interesting. Have you ever wondered why JavaScr

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.