2017-06-14 6 views
1

Ich versuche, einen Kreis (der Kreis enthält ein Symbol) vor einem Bild hinzuzufügen. Mein Code funktioniert gut, aber nur in großem Display; 1.224 und höher ... Dies ist jedoch nicht der Fall für Tablet und Handy ... Also, meine Frage ist: Wie kann ich meinen Code reparieren und es funktioniert für alle Geräte, ohne @media zu verwenden. Wenn @media die einzige Lösung ist, dann werde ich für ihn gehen ..Wie man einen Cicle vor einem Bild hinzufügt

HTML

<div class="row"> 
      <div class="col-md-3"> 
       <div class="service-box"> 
        <div class="service-circle" > 
         <!--Add icon inside circle --> 

        </div> 
        <div class="service-bg" style="background-color: black;"> 
        <!-- Insert img--> 
        </div> 

        <div class="service-text"> 
         <h3> 
          ENTER TITLE 

         </h3> 
        </div> 
       </div> 

      </div> 
      <div class="col-md-3"> 


      </div> 
      <div class="col-md-3"> 


      </div> 
      <div class="col-md-3"> 


      </div> 

     </div> 

CSS/LESS

.service-box { 



    .service-circle{ 
     width: 120px; 
     height: 120px; 
     border-radius: 50%; 
     display: table-cell; 
     vertical-align: middle; 
     color: #000; 
     line-height: 500px; 
     text-align: center; 
     background: #fff; 
     position: absolute; 
     left: 30%; 
     margin-top: 65%; 
     border: 5px solid #e6ab43; 


    } 

    .service-bg { 
     height: 250px; 
     border:1px solid black; 
     img{ 

      height: 100%; 
     } 

    } 

    .service-text { 
     text-align: center; 
     margin-top: 30%; 

    } 



} 

enter image description here

UPDATE:

Das ist, was ich versuche zu tun:

enter image description here

Deshalb verwende ich col-sm-3.

+0

Ihr Codebeispiel verwenden, ist unnötig komplex, viele irrelevanten divs und Verpackungen, und wir haben keine Welche Regeln hast du für Klassen wie 'col-md-3', 'service-box' und 'row'? Nachdem Sie das gesagt haben, können Sie versuchen% basierte Werte anstelle von px – MichaelB

+0

@MichaelB Hii zu verwenden, ich benutze col-md-3, weil ich vier davon haben werde ... das schwarze Quadrat ist ein Bild, der weiße Kreis ist ein Kreis, der ein Symbol enthalten wird, dann haben wir den Titel für jede Box..Auch der Code funktioniert gut, das einzige Problem ist, wenn es um mobile und Tisch geht .., dass der Kreis nach oben oder unten bewegen, aber es bleibt nicht in der Mitte zwischen dem Bild und der Außenseite (Titel) –

Antwort

2

Wenn Sie Ihr service-circle Element in Ihrem service-bg bewegen, können Sie es dann ausrichten transform: translate

.service-box { 
 
background: red; 
 
} 
 
    .service-bg { 
 
     position: relative;    /* added */ 
 
     height: 250px; 
 
     border:1px solid black; 
 
    } 
 
     img{ 
 
      height: 100%; 
 
     } 
 

 
    .service-circle{ 
 
     width: 120px; 
 
     height: 120px; 
 
     border-radius: 50%; 
 
     color: #000; 
 
     background: #fff; 
 
     position: absolute; 
 
     left: 50%;       /* added */ 
 
     top: 100%;       /* added */ 
 
     transform: translate(-50%,-50%); /* added */ 
 
     border: 5px solid #e6ab43; 
 
    } 
 

 
    .service-text { 
 
     text-align: center; 
 
     margin-top: 80px;     /* changed */ 
 
    }
<div class="row"> 
 
    <div class="col-md-3"> 
 
    <div class="service-box"> 
 
     <div class="service-bg" style="background-color: black;"> 
 
     <!-- Insert img--> 
 

 
     <div class="service-circle"> 
 
     <!--Add icon inside circle --> 
 

 
     </div> 
 
    </div> 
 

 
     <div class="service-text"> 
 
     <h3> 
 
      ENTER TITLE 
 

 
     </h3> 
 
     </div> 
 
    </div> 
 

 
    </div> 
 
    <div class="col-md-3"> 
 

 

 
    </div> 
 
    <div class="col-md-3"> 
 

 

 
    </div> 
 
    <div class="col-md-3"> 
 

 

 
    </div> 
 

 
</div>

+0

danke für deine Antwort ... aber dein Kreis ist innerhalb des schwarzen Hintergrundes und es sollte auf der Linie zwischen schwarzem und rotem Hintergrund ... wieder das Bild, das ich bekannt gab, bedeutet dass der Code gut funktioniert ... das einzige Problem ist, wenn es in Mobile ist..das der Kreis fehl am Platz ist, und ich wollte '@ media' nicht verwenden, weil ich dann mehr Zeile für jedes Gerät hinzufügen werde –

+0

YOUUUU !!! AREEEE !! THEEE MANN !! oder woman..not sure..l o l jee aber danke sooooo muchh !!! –

+0

@ArielMaduro Meine Antwort wurde aktualisiert. Sie können diesen Kreis nicht mit dem vorhandenen Markup an dieser Position positionieren, es sei denn, Sie kennen die genaue Höhe des Bildes. Indem ich mache, was ich vorschlage, wird es unabhängig davon funktionieren .... und ich bin ein Gentleman :) – LGSon

Verwandte Themen