由于平台工作方式的不同,Android和iOS版本具有默认大小。为了满足美学需求,我需要在Android版本中增大导航栏。目前,我只能通过CSS修改文本的大小和颜色,而无法修改导航栏本身的大小。请问是否可以更改大小或者是设计上不可更改的?
您只需要覆盖Ionic的默认样式。您可以通过在您的styles.css
中添加以下行来实现:
.bar-header {
height: 70px; /*just an example*/
}
为使页面标题垂直居中,还需添加以下代码:
.bar-header .title {
line-height: 70px;
}
最后,调整页面内容:
.has-header {
top: 70px;
}
!important;
CSS规则。代码从CodePen复制粘贴如下:
angular.module('ionicApp', ['ionic'])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('page1', {
url: '/1',
templateUrl: 'page1.html'
})
.state('page2', {
url: '/2',
templateUrl: 'page2.html'
})
.state('page3', {
url: '/3',
templateUrl: 'page3.html',
controller : "Page3Ctrl"
})
$urlRouterProvider.otherwise("/1");
})
.controller('Page3Ctrl', function($scope) {
})
.mynavbar{
height: 200px !important;
}
<html ng-app="ionicApp">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title>Ionic Template</title>
<link href="http://code.ionicframework.com/1.0.0-beta.1/css/ionic.css" rel="stylesheet">
<script src="http://code.ionicframework.com/1.0.0-beta.1/js/ionic.bundle.js"></script>
</head>
<body>
<ion-nav-bar class="bar-positive nav-title-slide-ios7 mynavbar" align-title="center">
<ion-nav-back-button class="button-icon ion-arrow-left-c">
</ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button">
LeftButton!
</button>
</ion-nav-buttons>
<ion-nav-buttons side="right">
<button class="button">
RightButton!
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view class="slide-left-right"></ion-nav-view>
<script id="page1.html" type="text/ng-template"></script>
<script id="page2.html" type="text/ng-template"></script>
<script id="page3.html" type="text/ng-template"></script>
</body>
</html>
最好的方法是使用Sass(.scss而不是.css),并在index.scss上覆盖变量$bar-height
的默认值。
$bar-height: 80px;
@import "../../bower_components/ionic/scss/ionic.scss";
/* Your css here */