ManU.K: Box mit zentriertem Text erstellen

Hallo,

vorneweg: Ich habe mir neu die Grundlagen von HTML und CSS beigebracht und bin demzufolge noch ein Anfänger auf dem Gebiet.

Zu meiner Frage:

Ich möchte eine Box erstellen, in der ein Bild angezeigt wird. Auf diesem Bild soll Text zu sehen sein. Um diesen Text soll eine Art durchsichtiger Rahmen sein, in dem der Text zentriert ist. Außerdem soll der Text/Rahmen sowohl vertikal als auch horizontal in dem Hintergrundbild zentriert werden.

Kann es leider nicht alleine hinbekommen. Folgende Probleme treten auf:

  1. Ich weiß nicht, wie ich die Schrift vertikal zentriert am Bild ausrichten kann.
  2. Ich schaffe es nicht, den Rahmen um den Text durchsichtig zu machen, ohne dabei den Text durchsichtig werden zu lassen.
  3. Ich weiß nicht, wie ich den Rahmen um den Text an die Länge/Höhe des Textes anpassen kann.

Hoffe, das war verständlich und ihr könnt mir weiterhelfen. Vielen DANK!

  1. Hallo

    1. Ich weiß nicht, wie ich die Schrift vertikal zentriert am Bild ausrichten kann.

    Mittels CSS und Flexbox.

    1. Ich schaffe es nicht, den Rahmen um den Text durchsichtig zu machen, ohne dabei den Text durchsichtig werden zu lassen.

    Als Hintergrund- und/oder Rahmenfarbe eine Farbangabe mit Alphakanal verwenden, aktuell rgba oder hsla.

    1. Ich weiß nicht, wie ich den Rahmen um den Text an die Länge/Höhe des Textes anpassen kann.

    Das macht der Rahmen von alleine. Der Inhalt von Containern bestimmt seine Größe. Die Abstände des Inhalts werden mittels CSS mit Angaben wie padding, border und margin bestimmt.

    Das ist das ganz normale Verhalten. Wenn das nicht funktioniert hat der Webseitenersteller an anderer Stelle Angaben gemacht, die dieses Verhalten unterdrücken.

    Gruss

    MrMurphy

    1. Vielen DAnk für die schnelle Antwort!

      Leider konnte ich 1) und 2) nicht lösen.

      Was ist eine Flexbox und was ein Alphakanal? Wie setze ich das praktisch um?

      1. Hallo

        Leider konnte ich 1) und 2) nicht lösen.

        Um dir konkret helfen zu können benötigen wir einen Link zu deinen aktuellen Bemühungen. Wenn wir dir einen Quelltext vorlegen bist du bei deinem Kenntnisstand wahrscheinlich damit überfordet, den in deine Seite zu übernehmen.

        Was ist eine Flexbox und was ein Alphakanal? Wie setze ich das praktisch um?

        Damit wollte ich dir die entscheidenden Stichworte liefern, nach denen du suchen und die Ergebnisse lernen kannst.

        Gruss

        MrMurphy

  2. @@ManU.K

    Ich möchte eine Box erstellen, in der ein Bild angezeigt wird.

    Zur Dekoration, also ein Hintergrundbild? background-image.

    Auf diesem Bild soll Text zu sehen sein. Um diesen Text soll eine Art durchsichtiger Rahmen sein

    padding.

    Außerdem soll der Text/Rahmen sowohl vertikal als auch horizontal in dem Hintergrundbild zentriert werden.

    Das ginge mit display: table-cell: Beispiel

    Oder doch besser mit Flexbox: Beispiel

    Beachte: Bei display: table-cell wirkt min-height nicht, dafür wirkt height wie min-height.

    LLAP 🖖

    --
    „Wenn du eine weise Antwort verlangst, musst du vernünftig fragen.“ —Johann Wolfgang von Goethe
    1. Vielen Dank für eure Antworten!

      Ich kriege es inzwischen soweit hin, dass ich mittels flex eine Box mit Text (=item) in einer anderen Box (=container) sowohl vertikal als auch horizontal ausrichten kann.

      Jetzt ist aber mein Problem, dass der container, ein Bild ist. Ich kann das item ja nicht in ein Bild legen. Ich hoffe ihr versteht mein Problem.

      1. @@ManU.K

        Ich hoffe ihr versteht mein Problem.

        Nein. Und das sagte dir MrMurphy1 auch schon.

        LLAP 🖖

        --
        „Wenn du eine weise Antwort verlangst, musst du vernünftig fragen.“ —Johann Wolfgang von Goethe
        1. @@ManU.K

          Ich hoffe ihr versteht mein Problem.

          Nein. Und das sagte dir MrMurphy1 auch schon.

          LLAP 🖖

          „Wenn du eine weise Antwort verlangst, musst du vernünftig fragen.“ —Johann Wolfgang von Goethe

          So sieht mein Code aktuell aus:

          <style> 
              .container{
                  background-color:antiquewhite;
                  width: 100%;
                  height:10em;
                  display: flex;
                  align-items: center;
                  justify-content: center;
              }
              
              .item{
                  background-color: aqua;
                  text-align: center;
                  width: 100px;;
              }
          
          </style>
          

          </head>

          <body>

          <div class="container"> <div class="item">TEXT</div> </div>

          </body>

          Damit bekomme ich einen "Container", der vertikal und horizontal ein zentriertes "Item" enthält. Jetzt will ich statt eines einfachen divs ein Bild und das "Item" soll in diesem Bild zentriert werden. Wie mache ich das?

          1. Hallo

            Jetzt will ich statt eines einfachen divs ein Bild und das "Item" soll in diesem Bild zentriert werden. Wie mache ich das?

            Das Bild wird als Hintergrundbild in den Container .container eingefügt.

            Gruss

            MrMurphy

            1. [Vollzitat entfernt]

              Das wars! Vielen Dank!!!! Konnte wieder einiges lernen :)