2017-02-15 7 views
1

Итак, у меня есть галерея, которая имеет описание/название для каждого изображения в нижней части изображения. Я сделал для каждой линии галереи четыре изображения, и все изображения имеют одинаковый размер.Как сделать градиентную анимацию в изображении с помощью css

это HTML-код:

<div class="gallery"> 
    <div class="flag"> 
     <img src="image1.png"> 
     <div class="desc">some description</div> 
    </div> 
</div> 

<div class="gallery"> 
    <div class="flag"> 
     <img src="image2.png"> 
     <div class="desc">some description</div> 
    </div> 
</div> 

<div class="gallery"> 
    <div class="flag"> 
     <img src="image3.png"> 
     <div class="desc">some very long description</div> 
    </div> 
</div> 

<div class="gallery"> 
    <div class="flag"> 
     <img src="image4.png"> 
     <div class="desc">some description</div> 
    </div> 
</div> 

это код CSS:

.gallery { 
      padding: 6px 6px; 
      float: left; 
      width: 24.99999%; 
     } 
.flag { 
      border: 1px solid #ccc; 
      padding: 5px; 
      box-shadow: 3px 3px 10px black; 
     } 
.flag img { 
      width: 100%; 
      height: auto; 
      box-shadow: 3px 3px 10px black; 
     } 
.desc { 
      padding: 10px; 
      text-align: center; 
      font-color: black; 
      font-weight: bold; 
      font-size: 18px; 
     } 

Моя проблема в том, если некоторые изображения имеет длинное описание, как image3.png, высота .Desc будет выше, чем у другого, и у меня много изображений в моей галерее, поэтому это сделает галерею не в порядке. Мой вопрос в том, как сделать размер шрифта из некоторых изображений с длинным описанием реагирует на размер .desc? а остальные изображения остаются неподвижными с размером шрифта от .desc. Любое предложение? спасибо до

+1

Вам нужен скрипт, чтобы сделать это, проверяя высоту на '.desc', а если высокий, изменение шрифта, пока он не ... или если вы сгенерируйте эту серверную сторону, вы можете подсчитать символы и добавить класс к элементу для слишком длинного – LGSon

+0

можете ли вы привести пример из сценария? @LGSon – Rian

ответ

0

Быстрое решение - создать новый селектор с меньшим размером шрифта и применить его только в тех случаях, когда размер шрифта влияет на другое изображение. Как это:

<div class="gallery"> 
<div class="flag"> 
    <img src="image4.png"> 
    <div class="desc myNewSelector">some description</div> 
</div> 

 .desc { 
     padding: 10px; 
     text-align: center; 
     font-color: black; 
     font-weight: bold; 
     font-size: 18px; 
    } 
     .myNewSelector { 
     font-size: 16px; 
    } 
+0

спасибо за вашу помощь, я не заметил, что все будет так просто: D – Rian

+0

ваш прием! @Rian – randseed1724

+0

@ Rian Ну, это не так просто, поскольку, когда кто-то изменяет размер или имеет менее широкий экран, может потребоваться 3 строки вместо 2, и проблема снова появится. – LGSon