Je suis nouveau sur AngularJS, alors soyez indulgent avec moi. J'utilise Angular Material Design et j'ai des difficultés à identifier un moyen de faire efficacement des grilles réactives.
Veuillez voir mes commentaires dans le code ci-dessous:
<div layout="row">
<div layout="row" flex="75" layout-sm="column" class="ptn-info-grid" layout-margin> <!-- USING ROW FOR DESKTOP AND COLUMN FOR MOBILE DEVICES -->
<div layout="column" flex="66"> <!-- I want this div occupy 2/3 of screen in Desktop but change to 100 in mobile devices (but stays in 66) -->
<div layout="row" layout-sm="column">
<div class="ptn-info-grid-item" flex>1</div>
<div class="ptn-info-grid-item" flex>2</div>
</div>
<div layout="row" layout-sm="column">
<div class="ptn-info-grid-item" flex>3</div>
<div class="ptn-info-grid-item" flex>4</div>
</div>
</div>
<div layout="column" flex="32"> <!-- I want this div occupy 1/3 of screen in Desktop but change to 100(which actually happens) in mobile devices. Im not using 33 because while using margin for child elements this div goes out of the parent div a little. -->
<div class="ptn-info-grid-item" flex style="margin-left: 0px;">Right Long
</div>
</div>
</div>
<div layout="row" flex="25" id="customer-phone-img"></div>
Mais en changeant les valeurs flex ci-dessus de "flex=66"
et "flex=32"
à simplement flex
et flex, me donne le résultat souhaité sur les appareils mobiles, cependant comme vous le savez, dans le bureau, au lieu du rapport 2: 1, il occupe la moitié et la moitié.
Veuillez également voir les images ci-jointes.
Attendu
n chat occupé http://dev.sprintu.com/imgHelp/final1.png
Comment c'est
n chat occupé http://dev.sprintu.com/imgHelp/final2.png
Je cherche donc un moyen de modifier la valeur de flex pour les petits écrans (pour quand layout-sm
est appliqué - modifiez flex=66
à flex=100
).
Consultez la section "Responsive Flex & Offset Attributes" ici: https://material.angularjs.org/#/layout/options
Fondamentalement, vous pouvez utiliser ces options:
Alors changez votre:
<div layout="column" flex="66">
à
<div layout="column" flex-gt-sm="66">
Et cette div n'utilisera la largeur 66 que lorsqu'elle est plus grande que petite (mobile)