28198 sujets

CSS et mise en forme, CSS3

Bonjour, je réalise un petit jeu réalisé uniquement en caractère texte (ASCII)
chaque ascii est dessiné sur un fichier .txt et est appelé dans une balise <pre>.

Je les positionne ensuite les uns par rapport aux autre en partant du centre:
top: 50%; left: 50%; transform: translate(-50%, -50%);

Malgré plusieurs tentatives, il y a des décalages selon la qualité des écran. Auriez-vous une idée de comment je peux faire pour empêcher ça?

Je vous remercie par avance:



<style>

body {
font-size: 13px;
            font-family: Consolas, monospace;
            margin: 0; 
            line-height:1.15;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
            width: 100vw;
            overflow: hidden;
        }


pre{
    position: absolute;
            line-height:1.15;
    top: 50%;
    left: 50%;  
    transform: translate(-50%, -50%);
    white-space: pre;

    }

    
div{
    position: absolute;
    }


</style>

</head>
<body>
  <div id="letout">
  <div id="paysage">
        <pre ><script>document.include('txt/paysage.txt');</script>
        </pre>
    </div>
                <!-- radia -->
    <div id="radia" style="top: 60px; left: -160px; cursor: pointer;" onclick="fonction_radia()">
        <pre ><script>document.include('txt/radia.txt');</script>
        </pre>
    </div>

        [...]    

Bonjour,

Il y a forcément un décalage puisque vous avez choisi des unités en pourcentage de la largeur de l'écran. Si vous voulez éviter ces décalages il faut utiliser des unités fixes. Il me semble que, dans votre idée, c'est uniquement la taille de l'aire de jeux qui devrait être adaptative à l'écran.

Un exemple : https://codepen.io/olivier-c/pen/Wogeby