2017-06-14 20 views
1

画像の前に円を追加しようとしています(円にはアイコンが含まれています)。私のコードは正常に動作しますが、大きな表示でのみ動作します。しかし、これはタブレットとモバイルの場合ではありません...だから私の質問は:@mediaを使わずに、コードを修正してすべてのデバイスで動作させるにはどうすればいいですか? @mediaが唯一の解決策であるならば、私はそれのために行くだろう。..画像の前に円を追加する方法

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:

これは私がやろうとしているものです:

enter image description here

したがって、私はcol-sm-3を使用しています。

+0

を使用して、それを揃えることができ、あなたのコードサンプルが不必要に複雑、多くの無関係のdivとラッパーであり、我々はありません持っています'col-md-3'、 'service-box'、 'row'のようなクラスに対してどのようなルールを持っているかを考えてください。 これは、px – MichaelB

+0

の代わりに%ベースの値を使ってみることができます@MichaelB Hii、私がそれらの4つを持つためcol-md-3を使用しています...黒い四角は画像、白い円はサークルがアイコンを含む場合、各ボックスのタイトルがあります。また、コードは正常に動作しますが、唯一の問題はモバイルとテーブルの場合です。サークルが上下に移動しますが、画像と外側の間の中央にある(タイトル) –

答えて

2

あなたのservice-bgの内側にあなたのservice-circle要素を移動した場合、あなたはその後、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

あなたの答えはありがたいですが...あなたのサークルは黒い背景の内側にあり、それは黒と赤の背景の間のライン上にあるはずです...再び、私が投稿した画像コードの罰金は...唯一の問題は、モバイルでは円が外れてしまい、 '@ media'を使いたくないということです。なぜなら私は各デバイスにもっと多くの行を追加することになるからです –

+0

YOUUUU !!! AREEEE !! THEEE MANN !!または女性は..確かに..私はジーしかし、sooooo muchhに感謝! –

+0

@ArielMaduro私の答えを更新しました。画像の正確な高さが分からない限り、その位置にある既存のマークアップで円を配置することはできません。私が示唆していることをすることによって、それは関係なく...と私は紳士です:) – LGSon

関連する問題