suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie kann ich die Textbreite an die Breite eines Bildes/Titels mit dynamischer Größe anpassen?

Sehen Sie sich diesen Codestift an: https://codepen.io/allen-houng/pen/XGMjMr?editors=1100#0

    <div>
      <img src="https://res.cloudinary.com/djcpf0lmv/image/upload/v1549372650/Templates/yoga.jpg" data-radium="true" style=";">
      <div class="description">
        Fusce consequat. Nulla nisl. Nunc nisl. Duis bibendum, felis sed interdum   venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.
      </div>
    </div>

Ich habe ein übergeordnetes Div und zwei untergeordnete Divs – ein Bild und eine Beschreibung. Ich ändere die Größe des Bildes basierend auf der Höhe des Ansichtsfensters, was bedeutet, dass die Breite dynamisch und reaktionsfähig ist. Wie kann ich die Größe des entsprechenden Geschwister-Div .description ändern, um es ohne JavaScript an die Breite des Bildes anzupassen?

Mit anderen Worten, wie transformiere ich:

Geben Sie Folgendes ein:

P粉741678385P粉741678385233 Tage vor560

Antworte allen(2)Ich werde antworten

  • P粉008829791

    P粉0088297912024-04-07 09:39:14

    您可以简单地将图像的宽度设置为 100%。只需添加“宽度:100%;”进入您的 img 样式标签进行测试,如下所示:

    <div>
      <img src="https://res.cloudinary.com/djcpf0lmv/image/upload/v1549372650/Templates/yoga.jpg" data-radium="true" style="width: 100%;">
      <div class="description">
        Fusce consequat. Nulla nisl. Nunc nisl. Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.
      </div>
    </div>

    或者将其放入一个类中:

    .img-full {
      display: block;
      width: 100%;
    }
    <div>
      <img src="https://res.cloudinary.com/djcpf0lmv/image/upload/v1549372650/Templates/yoga.jpg" data-radium="true" class="img-full">
      <div class="description">
        Fusce consequat. Nulla nisl. Nunc nisl. Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.
      </div>
    </div>

    “display: block”只是确保您的 img 始终位于它自己的块中,无论宽度如何。即您的文字不会出现在其旁边,只会出现在其下方或上方。

    Antwort
    0
  • P粉030479054

    P粉0304790542024-04-07 09:10:01

    使容器inline-block(或任何收缩到适合的配置,如tableinline-gridinline -flexfloatabsolute 等)然后强制文本宽度为 0,从而定义容器的宽度通过图像(文本不影响宽度),然后使用 min-width

    再次强制宽度为 100%

    .parent {
      background: pink;
      display:inline-block;
    }
    
    img {
      display: block;
      max-height: 70vh;
    }
    
    .description {
      width:0;
      min-width:100%;
    }
    <div class="parent">
        <img src="https://picsum.photos/id/1004/900/600">
      <div class="description">
        Fusce consequat. Nulla nisl. Nunc nisl. Duis bibendum, felis sed interdum   venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.
      </div>
    </div>

    Antwort
    0
  • StornierenAntwort