I have the following code:
<table style="width: 100%; max-width: 800px; table-layout: fixed;"> ... table stuff here ... </table>
I think it's obvious I intend for the table to take the full width available, with a capped maximum size of 800px.
This works in Internet Explorer and Firefox, however in Chrome it appears that the max-width
is being ignored when width
is present.
I have tried using max-width: 100%; width: 800px;
, which again works in IE and FF but the max-width
is ignored in Chrome. I have tried using just max-width: 800px
but in Chrome the table comes out 1159 pixels wide instead... !
If anyone can help with this, it would be much appreciated.
This is a simple way to put it: if the element would render wider than the max-width says it should be, then the max-width property wins over the width property. But if it would render less than the max-width says, then the width property wins. In mathematical terms: if width > max-width; let the browser use max-width.
And min-width specify lower bound for width. So the width of the element will vary from min-width to ... (it will depend on other style). So if you specify min-width and max-width , you will set up a lower and upper bound and if both are equal it will be the same as simply specifing a width .
max-width overrides width , but min-width overrides max-width .
Yes, as per the CSS 2.1 Specification, all non-negative values are valid for width, that includes percentage values above 100%.
Add
display: block;
to the table element's style
attribute (preferably in a CSS file or the <style>
section of the document rather than as in inline style).
<div>
elements have display: block
by default, while <table>
elements have display: table;
by default. Your problem is that the max-width
property only applies to block elements, so you have to apply display: block;
to the table.
Wrapping in a div with max-width
and using display: block
don't work on Chrome 66. However, table-layout: fixed
does: https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout
Table and column widths are set by the widths of table and col elements or by the width of the first row of cells. Cells in subsequent rows do not affect column widths. Under the "fixed" layout method, the entire table can be rendered once the first table row has been downloaded and analyzed. This can speed up rendering time over the "automatic" layout method, but subsequent cell content might not fit in the column widths provided. Cells use the overflow property to determine whether to clip any overflowing content, but only if the table has a known width; otherwise, they won't overflow the cells.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With