2015-08-05 2 views
3

Так что я хотел сделать карты появляются так же, как ее предполагается сделать в Material design specMDL высота карты настройки

Short video demo

я сумел сделать это с помощью JQuery на простой красный квадрат (см первый фрагмент) Я просто даю нужный элемент 0 height & width, а затем анимируем высоту & шириной с jquery до того, насколько я хочу, чтобы это было.

Проблема с любой из карт MDL заключается в том, что я не могу получить высоту ни на чем меньшее 200. Вы можете проверить мой второй фрагмент и посмотреть, что произойдет, когда я попытаюсь установить его на 150 пикселей.

<!doctype html> 
 
<html> 
 
    <head> 
 
     <meta charset="utf-8"> 
 
     <meta name="description" content=""> 
 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
     <title>Card</title> 
 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
 
    </head> 
 
    <body> 
 
    \t <p id="Box"></p> 
 
     <button id="Start">Start</button> 
 
     <button id="Reset">Reset</button> 
 
     <script> 
 
     $(document).ready(function() { 
 
      
 
      $("#Start").click(function(){ 
 
       $('#Box').animate({height: "150px", width: "150px"},{duration: 1000}); 
 
      }); 
 

 
      $("#Reset").click(function(){ 
 
       $('#Box').animate({height: "0px", width: "0px"},{duration: 1000}); 
 
      }); 
 
      
 
     }); 
 
     </script> 
 
     <style> 
 
     #Box{ 
 
     \t width: 0px; 
 
     \t height: 0px; 
 
     \t background-color: red; 
 
      box-shadow: -3px 1px 30px 0px rgba(50,50,50,0.25); 
 
     } 
 
     </style> 
 
    </body> 
 
</html>

$(document).ready(function(){ 
 
      
 
$('.mdl-card').animate({height: "150px", width: "0px"},{duration: 1000}); 
 
    $("#Start").click(function(){ 
 
    $('.mdl-card').animate({height: "150px", width: "150px"},{duration: 1000}); 
 
    }); 
 

 
    $("#Reset").click(function(){ 
 
    $('.mdl-card').animate({height: "0px", width: "0px"},{duration: 1000}); 
 
    });    
 
       
 
       
 
});
<!doctype html> 
 
<html> 
 
    <head> 
 
    \t <link rel="stylesheet" href="https://storage.googleapis.com/code.getmdl.io/1.0.2/material.indigo-pink.min.css"> 
 
<script src="https://storage.googleapis.com/code.getmdl.io/1.0.2/material.min.js"></script> 
 
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    </head> 
 
    <body> 
 
     <div class="mdl-card mdl-shadow--6dp"></div> 
 
     <button id="Start">Start</button> 
 
     <button id="Reset">Reset</button> 
 
    </body> 
 
    <style> 
 
    .mdl-card{ 
 
    margin: 5px 5px; 
 
    width: 0px; 
 
    height: 0px; 
 
}</style> 
 
</html>

Любая помощь будет очень ценна, может быть, Theres другой способ сделать это с помощью JQuery?

ответ

8

После тестирования фрагмента кода и просмотра всего, что происходит с консолью разработчиков Chromes, я обнаружил, что .mdl-card имеет атрибут min-height в css. Переопределение этого значения в 0 фиксировало его для меня.

+0

Я могу просто переопределить это значение правильно? – Abdel

+0

Это то, что я сделал да, но, возможно, не делаю этого во всем мире (чтобы избежать других проблем, которые могут возникнуть при этом), другими словами, не делайте это на .mdl-карте, но в своем собственном классе –

+0

Или я назначаю идентификатор с картой, с которой я хочу это сделать, тоже будет работать? – Abdel

Смежные вопросы