【发布时间】:2018-05-14 19:44:59
【问题描述】:
所以我正在尝试创建一个布局,其中我有一个带有卡片的页面,右侧有一个摘要卡片,当我滚动时它会浮动。一种以前使用引导程序见过的典型词缀对象。到目前为止,这是我的尝试:
由于某种原因,前三张牌将浮动牌视为其行的一部分,从而调整了它们的大小。有没有办法解决这个问题?当我滚动时,我得到了所需的行为:
这是我的代码:
<div class="container" layout="row" layout-xs="column">
<div flex="20" hide-sm></div>
<div flex>
<h1 style="margin-bottom: 20px">Which edition?</h1>
</div>
<div flex="20" hide-sm></div>
</div>
<div sticky style="position: relative; float: right; z-index: 2;" flex="20">
<div>
<md-card ng-class="vm.selectedSupport === 'standard' ? 'card-3' : 'card-1'"
ng-click="vm.toggleSelectedSupport('standard')">
<img src="images/priority_bw.jpg"
class="md-card-image"
alt="Washed Out"
ng-if="vm.selectedSupport !== 'standard'">
<img src="images/priority.jpg"
class="md-card-image"
alt="Washed Out"
ng-if="vm.selectedSupport === 'standard'">
<md-card-title layout="column" layout-align="center center">
<md-card-title-text>
<span class="md-headline">I don't need priority support</span>
</md-card-title-text>
</md-card-title>
<md-card-content layout="column" layout-align="center center">
<p align="center">
over email only <br/>
within three working days
</p>
<h2>$0</h2>
</md-card-content>
<md-card-actions layout="column" layout-align="start">
<md-button ng-class="vm.selectedSupport === 'standard' ? 'md-raised md-primary md-hue-1' : 'md-raised md-accent md-hue-1'">
Selected
</md-button>
</md-card-actions>
</md-card>
</div>
</div>
<div class="container" layout="row" layout-xs="column">
<div flex="20" hide-sm></div>
<div flex>
<md-card ng-class="vm.selectedCard === 'card1' ? 'card-3' : 'card-1'"
ng-click="vm.toggleSelected('card1')">
<img src="images/header_bw.jpg"
class="md-card-image"
alt="Washed Out"
ng-if="vm.selectedCard !== 'card1'">
<img src="images/header.jpg"
class="md-card-image"
alt="Washed Out"
ng-if="vm.selectedCard === 'card1'">
<md-card-title layout="column" layout-align="center center">
<md-card-title-text>
<span class="md-headline">Free</span>
</md-card-title-text>
</md-card-title>
<md-card-content layout="column" layout-align="center center">
<p align="center">
This is the free version of the software that we are offering. It's not the full offering
so if you want more i will need to see some $$$.</p>
<p>
Some tool 1 <br/>
Some tool 1 <br/>
Some tool 1 <br/>
</p>
<h2>Free</h2>
</md-card-content>
<md-card-actions layout="column" layout-align="start">
<md-button ng-class="vm.selectedCard === 'card1' ? 'md-raised md-primary md-hue-1' : 'md-raised md-accent md-hue-1'">
Selected
</md-button>
</md-card-actions>
</md-card>
</div>
<div flex>
<md-card ng-class="vm.selectedCard === 'card2' ? 'card-3' : 'card-1'"
ng-click="vm.toggleSelected('card2')">
<img src="images/header1_bw.jpg"
class="md-card-image"
alt="Washed Out"
ng-if="vm.selectedCard !== 'card2'">
<img src="images/header1.jpg"
class="md-card-image"
alt="Washed Out"
ng-if="vm.selectedCard === 'card2'">
<md-card-title layout="column" layout-align="center center">
<md-card-title-text>
<span class="md-headline">Pro</span>
</md-card-title-text>
</md-card-title>
<md-card-content layout="column" layout-align="center center">
<p align="center">
This is the free version of the software that we are offering. It's not the full offering
so if you want more i will need to see some $$$.</p>
<p>
Some tool 1 <br/>
Some tool 1 <br/>
Some tool 1 <br/>
</p>
<h2>$9.99/month</h2>
</md-card-content>
<md-card-actions layout="column" layout-align="start">
<md-button ng-class="vm.selectedCard === 'card2' ? 'md-raised md-primary md-hue-1' : 'md-raised md-accent md-hue-1'">
Selected
</md-button>
</md-card-actions>
</md-card>
</div>
<div flex>
<md-card ng-class="vm.selectedCard === 'card3' ? 'card-3' : 'card-1'"
ng-click="vm.toggleSelected('card3')">
<img src="images/header2_bw.jpg"
class="md-card-image"
alt="Washed Out"
ng-if="vm.selectedCard !== 'card3'">
<img src="images/header2.jpg"
class="md-card-image"
alt="Washed Out"
ng-if="vm.selectedCard === 'card3'">
<md-card-title layout="column" layout-align="center center">
<md-card-title-text>
<span class="md-headline">Enterprise</span>
</md-card-title-text>
</md-card-title>
<md-card-content layout="column" layout-align="center center">
<p align="center">
This is the free version of the software that we are offering. It's not the full offering
so if you want more i will need to see some $$$.</p>
<p>
Some tool 1 <br/>
Some tool 1 <br/>
Some tool 1 <br/>
</p>
<h2>$19.99/month</h2>
</md-card-content>
<md-card-actions layout="column" layout-align="start">
<md-button ng-class="vm.selectedCard === 'card3' ? 'md-raised md-primary md-hue-1' : 'md-raised md-accent md-hue-1'">
Selected
</md-button>
</md-card-actions>
</md-card>
</div>
<div flex="20" hide-sm></div>
</div>
<div class="container" layout="row" layout-xs="column">
<div flex="20" hide-sm></div>
<div flex>
<h1 style="margin-bottom: 5px;">How many users?</h1>
<h4 style="margin: 0; color: grey;">
<i class="fas fa-check"></i>
Buy more than 5 and get 5% discount
</h4>
<h4 style="margin-top: 0; margin-bottom: 20px; color: grey;">
<i class="fas fa-check"></i>
Buy more than 50 and get 10% discount
</h4>
</div>
<div flex="20" hide-sm></div>
</div>
<div class="container" layout="row" layout-xs="column">
<div flex="20" hide-sm></div>
<div flex>
<div class="container" layout="row" layout-align="center center">
<md-button class="md-fab md-primary md-hue-1"
aria-label="Eat cake"
ng-click="vm.count = (vm.count - 1) < 0 ? 0 : vm.count -1">
<md-icon class="fas fa-minus"></md-icon>
</md-button>
<md-input-container>
<input type="text"
title=""
aria-label="count-input"
style="text-align: center; width: 120px; height: 60px; font-size: 48px;"
ng-model="vm.count">
</md-input-container>
<md-button class="md-fab md-primary md-hue-1"
aria-label="Eat cake"
ng-click="vm.count = vm.count + 1">
<md-icon class="fas fa-plus"></md-icon>
</md-button>
</div>
</div>
<div flex>
<div class="container" layout="column" layout-align="center center">
<p ng-if="vm.count < 50">Save <b>{{vm.count < 5 ? 5 : 10}}%</b> when you upgrade to <br/>
{{vm.count < 5 ? 5 : 50}} licenses
</p>
<md-button class="md-raised md-primary md-hue-1"
ng-click="vm.setCount()"
style="width: 50%"
ng-if="vm.count < 50">
Upgrade to {{vm.count < 5 ? 5 : 50}}
</md-button>
<h2 ng-if="vm.count >= 50" layout-align="center center" layout="column">
<i class="fas fa-check fa-2x" style="color: green"></i>
Awesome! You are saving 10%
</h2>
</div>
</div>
<div flex="20" hide-sm></div>
</div>
sticky 指令如下:
angular.module('MonkeyBarsApp').directive('sticky', Sticky);
Sticky.$inject = ['$mdSticky'];
function Sticky($mdSticky) {
return {
restrict: 'A',
link: function (scope, element) {
$mdSticky(scope, element);
}
}
}
任何帮助将不胜感激。 我想模仿的东西:https://studio3t.com/buy/
【问题讨论】:
标签: css angularjs angular-material