The layout of your table in an HTML document can be set using the width property, and in-process restricting the width of the table, unchanged, making it fixed no matter how long the contents are inside the cells or what browser display settings are. OR we can use an HTML property known as table-layout.
The table-layout property is such that it helps define a set of instructions for the browser that the browser should use while laying out your table, and your table’s cells and columns.
So, in short, a table-layout property can be said to contain an algorithm that is given to the browser to follow, to layout your table. A table-layout property has various values to be set to, but it entirely depends on the user’s choice. The browsers do apply some rules automatically, defining how the cells and the columns will be laid out, if there is no use of the table-layout property. These rules are also applied when the table-layout property’s value is set to ‘auto’.
Syntax :
Below is the simple syntax of the table-layout property.
ObjectName { table-layout: auto|fixed|initial|inherit; }
HTML Table Layout Values
The values to be used for table-layout property, as discussed above, entirely depends and vary according to a programmer’s choice of design and taste. The following are the values that can be used along with the table-layout property.
1. auto
‘auto’ is the ‘by default’ value of the table-layout property. That is, even if the programmer does not define the table-layout property, the browsers use the ‘auto’ constraints for defining a table and table’s cells and columns layouts. The width of the table and table’s cells depends on the content inside the cells, that is, the table’s width is adjusted according to the largest content in the cells, keeping is unbreakable.
Below is an example showing table-layout with ‘auto’ as its value.
Example
This example shows a table with table width as 100% and the table-layout value is set to ‘auto’.
Code:
<h2 id="The-code-table-layout-code-property-demo">The <code>table-layout</code> property demo</h2>
table-layout demo | table-layout demo | table-layout demo | table-layout demo |
---|---|---|---|
This text is much bigger content for the demo. Adding more text here. More text being added here. | table-layout demo | table-layout demo | table-layout demo |
table-layout demo | table-layout demo | table-layout demo | table-layout demo |
table-layout demo | table-layout demo | table-layout demo | table-layout demo |
Output:
Note that, the table, has its width adjusted according to the content in the cells, the first column is being adjusted according to the large content in the second row-first cell. While other columns are divided equally since they contain the same worded content.
2. fixed
‘fixed’ value as the name suggests defines the table and its column’s width according to the predefined widths of the col elements (if any) and the width of the table. This property with value as ‘fixed’ can also be determined by the width of the very first row of cells of the table. The rest of the cell’s width does not matter or affect the table’s widths.
We will need to give the table’s width, some value instead of ‘auto’ (a default value). In the below examples, the width is set to 100%.
Example #1
Using the same table created above, but setting table-layout to ‘fixed’ value and table width as 100%. CSS values as defined in the program are given below, HTML code is the same.
Code:
table { width: 100%; margin: 10px auto; table-layout: fixed; }
Output:
Example #2
This example shows how a fixed width of a cell matters and has its effects while using table-layout as fixed property.
Here we set the first cell’s width to 400px for demo purposes to exaggerate the difference of display. Now observe that the property value, ‘fixed’ has no effect on other cells since every other cell has the same content.
Example #3
Now observe the below example. This table is the same as above with a much larger content in one of the other cells and width set to 250px.
Note if the property was set to auto;
table { width: 100%; margin: 10px auto; table-layout: auto; }
Output:
But here, when the ‘fixed’ property is used, it toggles the table accordingly.
table { width: 100%; margin: 10px auto; table-layout: fixed; }
- It does not touch the fixed width of the first cell.
- Divides the rest of the table equally, no matter the content.[Text Wrapping Break]
There are two more values that are Global Values.
- initial: This value when used, sets the property to the default initial value.
- inherit: You can also inherit a table layout design or property from a parent element.
Since when we use the ‘fixed’ table layout algorithm or layout method, your complete table gets rendered as soon as the browser receives the table’s first row and analyzes it. If the table is really large, users will only be able to see the table’s top row if the ‘fixed’ layout method is used which puts up a good effect on users, giving them the impression that the table is getting loaded faster.
The above is the detailed content of HTML Table Layout. For more information, please follow other related articles on the PHP Chinese website!

The role of HTML is to define the structure and content of a web page through tags and attributes. 1. HTML organizes content through tags such as , making it easy to read and understand. 2. Use semantic tags such as, etc. to enhance accessibility and SEO. 3. Optimizing HTML code can improve web page loading speed and user experience.

HTMLisaspecifictypeofcodefocusedonstructuringwebcontent,while"code"broadlyincludeslanguageslikeJavaScriptandPythonforfunctionality.1)HTMLdefineswebpagestructureusingtags.2)"Code"encompassesawiderrangeoflanguagesforlogicandinteract

HTML, CSS and JavaScript are the three pillars of web development. 1. HTML defines the web page structure and uses tags such as, etc. 2. CSS controls the web page style, using selectors and attributes such as color, font-size, etc. 3. JavaScript realizes dynamic effects and interaction, through event monitoring and DOM operations.

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

HTML is suitable for beginners because it is simple and easy to learn and can quickly see results. 1) The learning curve of HTML is smooth and easy to get started. 2) Just master the basic tags to start creating web pages. 3) High flexibility and can be used in combination with CSS and JavaScript. 4) Rich learning resources and modern tools support the learning process.

AnexampleofastartingtaginHTMLis,whichbeginsaparagraph.StartingtagsareessentialinHTMLastheyinitiateelements,definetheirtypes,andarecrucialforstructuringwebpagesandconstructingtheDOM.

How to design the dotted line segmentation effect in the menu? When designing menus, it is usually not difficult to align left and right between the dish name and price, but how about the dotted line or point in the middle...

HTML Element Analysis in Web Code Editor Many online code editors allow users to enter HTML, CSS, and JavaScript code. Recently, someone proposed...


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

Zend Studio 13.0.1
Powerful PHP integrated development environment

SublimeText3 Chinese version
Chinese version, very easy to use

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

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),