Reputation: 5151
I am putting a FAB Toolbar component in the lower right of the screen. It hovers over the scrollable content (emulated here by the <div>
). The behavior of hovering over the content is correct, and it appears to be correctly placed.
However, the toolbar does not expand to its full size. I tried putting the HTML into the <md-content>
, but that causes the positioning to break. Is there something I'm missing here?
Thanks in advance!
//app.js
angular.module('BlankApp', ['ngMaterial'])
.controller('BasicDemoCtrl', function DemoCtrl() {
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic">
</head>
<body ng-app="BlankApp" ng-controller="BasicDemoCtrl" layout="column" ng-cloak>
<!-- Page Window -->
<md-content flex>
<div style="position:absolute;left:48px;top:115px;width:1507px;height: 500px;"></div>
</md-content>
<md-fab-toolbar md-direction="left" class="md-fab-bottom-right">
<md-fab-trigger class="align-with-text">
<md-button aria-label="menu" class="md-fab md-primary">
<md-icon>menu</md-icon>
</md-button>
</md-fab-trigger>
<md-toolbar>
<md-fab-actions class="md-toolbar-tools">
<md-button class="md-icon-button" ng-click="reviewTable()">
<md-icon>launch</md-icon>
</md-button>
<md-button class="md-icon-button" ng-click="showActionToast()">
<md-icon>edit</md-icon>
</md-button>
<md-button class="md-icon-button">
<md-icon>arrow_back</md-icon>
</md-button>
</md-fab-actions>
</md-toolbar>
</md-fab-toolbar>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script>
<!-- Your application bootstrap -->
<script type="text/javascript" src="app.js"></script>
</body>
</html>
Upvotes: 2
Views: 279
Reputation: 5151
It seems that the FAB Toolbar
component is not fully matching the FAB button
classes. I was able to get something close to what I wanted with the code below. Essentially, I used the class .md-is-open
to move the FAB's open toolbar into the right position. This keeps the stylistic position of the FAB in place (.md-fab-bottom-right
). It is not perfect, and the position changes abruptly on close.
//app.js
angular.module('BlankApp', ['ngMaterial'])
.controller('BasicDemoCtrl', function DemoCtrl() {
});
md-fab-toolbar { width: 100vw; }
md-fab-toolbar.md-is-open { right: 0 !important; bottom: 0 !important; }
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic">
</head>
<body ng-app="BlankApp" ng-controller="BasicDemoCtrl" layout="column" ng-cloak>
<!-- Page Window -->
<md-content flex>
<div style="position:absolute;left:48px;top:115px;width:1507px;height: 500px;"></div>
</md-content>
<md-fab-toolbar md-direction="left" class="md-fab-bottom-right">
<md-fab-trigger class="align-with-text">
<md-button aria-label="menu" class="md-fab md-primary">
<md-icon>menu</md-icon>
</md-button>
</md-fab-trigger>
<md-toolbar>
<md-fab-actions class="md-toolbar-tools">
<md-button class="md-icon-button" ng-click="reviewTable()">
<md-icon>launch</md-icon>
</md-button>
<md-button class="md-icon-button" ng-click="showActionToast()">
<md-icon>edit</md-icon>
</md-button>
<md-button class="md-icon-button">
<md-icon>arrow_back</md-icon>
</md-button>
</md-fab-actions>
</md-toolbar>
</md-fab-toolbar>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script>
<!-- Your application bootstrap -->
<script type="text/javascript" src="app.js"></script>
</body>
</html>
Upvotes: 1
Reputation: 9616
Use this CSS
.md-fab-toolbar.md-fab-bottom-right {
width: 100vw;
}
Try running the following snippet- notice the <style>
//app.js
angular.module('BlankApp', ['ngMaterial'])
.controller('BasicDemoCtrl', function DemoCtrl() {
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,400italic">
<style>
.md-fab-toolbar.md-fab-bottom-right {
width: 100vw;
}
</style>
</head>
<body ng-app="BlankApp" ng-controller="BasicDemoCtrl" layout="column" ng-cloak>
<!-- Page Window -->
<md-content flex>
<div style="position:absolute;left:48px;top:115px;width:1507px;height: 500px;"></div>
</md-content>
<md-fab-toolbar md-direction="left" class="md-fab-bottom-right">
<md-fab-trigger class="align-with-text">
<md-button aria-label="menu" class="md-fab md-primary">
<md-icon>menu</md-icon>
</md-button>
</md-fab-trigger>
<md-toolbar>
<md-fab-actions class="md-toolbar-tools">
<md-button class="md-icon-button" ng-click="reviewTable()">
<md-icon>launch</md-icon>
</md-button>
<md-button class="md-icon-button" ng-click="showActionToast()">
<md-icon>edit</md-icon>
</md-button>
<md-button class="md-icon-button">
<md-icon>arrow_back</md-icon>
</md-button>
</md-fab-actions>
</md-toolbar>
</md-fab-toolbar>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script>
<!-- Your application bootstrap -->
<script type="text/javascript" src="app.js"></script>
</body>
</html>
Upvotes: 1