CSS width et max-width combiné
J'ai le code suivant:
<table style="width: 100%; max-width: 800px; table-layout: fixed;">
... table stuff here ...
</table>
Je pense qu'il est évident que j'ai l'intention de la table pour prendre toute la largeur disponible, avec un maximum plafonné taille de 800px.
Cela fonctionne dans Internet Explorer et Firefox, cependant dans google Chrome, il semble que la max-width
est d'être ignoré lorsque width
est présent.
J'ai essayé d'utiliser max-width: 100%; width: 800px;
, à nouveau, qui fonctionne sous IE et FF, mais le max-width
est ignoré dans Chrome. J'ai essayé en utilisant simplement max-width: 800px
mais dans Chrome le tableau sort 1159 pixels de large au lieu de cela... !
Si quelqu'un peut aider avec cela, il serait très apprécié.
- Vous essayez de claquer deux tendances contradictoires des choses ensemble.
width: 100%
dit à occuper la pleine largeur horizontale du conteneur parent, puis en disant: "N'allez pas plus large que 800px". Il est entièrement à la CSS du moteur afin de déterminer LEQUEL de ces deux déclarations contradictoires a precendence. - B: Ils ne sont pas contradictoires. Si la largeur du navigateur (par exemple) est à moins de 800px, alors la largeur devrait augmenter à 100% de l'espace disponible. Si la fenêtre du navigateur est supérieure à 800px, alors il ne devrait progresser que de 800px de largeur (le maximum).
- *
max-width
ne s'applique qu'aux éléments de bloc *
Vous devez vous connecter pour publier un commentaire.
Ajouter
à la table de l'élément
style
attribut (de préférence dans un fichier CSS ou le<style>
section du document plutôt que comme de style en ligne).<div>
éléments ontdisplay: block
par défaut, alors que<table>
éléments ontdisplay: table;
par défaut. Votre problème est que lemax-width
propriété s'applique uniquement aux éléments de bloc, de sorte que vous avez à appliquerdisplay: block;
à la table.div
?table
peut provoquer le lecteur d'écran à l'interpréter comme un tableau de présentation, en signifiant que les données à l'intérieur de la table ne sera pas lue comme attendu sous forme d'un tableau.width: 100%
en premier lieu.Emballage dans un div avec
max-width
et à l'aide dedisplay: block
ne fonctionne pas sur Chrome 66. Cependant,table-layout: fixed
n': https://developer.mozilla.org/en-US/docs/Web/CSS/table-layoutEnvelopper le tableau dans un div qui a largeur max:
Vous pouvez utiliser:
Il travaille pour moi dans les deux IE9 et Chrome.
Utilisation min-largeur:800 ou vous le souhaitez et de définir le width:100%. Si la taille de votre navigateur, il sera fixé, mais la taille de votre page ne sera pas inférieure à la 800px