2016-10-26 148 views
0

我需要修改角度材料输入到最小值的高度。Cofigure角度材料输入的高度

这是因为我需要在一个小方块(500px,它位于屏幕底部)插入很多输入,但我需要输入的高度不会改变盒子的高度,然后我需要以下两件事情中的一件不会发生:

1-盒子长大,导致发送按钮和其他输入不在屏幕上。

2-如果箱子的高度配置为百分比(高度:80%),则会在箱子的右边框中出现滚动控件。

下面是代码:

<!doctype html> 
<html lang="en"> 
<head> 

<title>FORM</title> 

<!-- Firebase --> 
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script> 
<!-- AngularFire --> 
<script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script> 

    <!-- Angular Material style sheet --> 
    <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css"> 

</head> 

<body ng-app="mmadera"> 
<div class="box" style="position:relative; width:500px; height:500px;"> 
    <div ng-controller="DemoCtrl" layout="column" ng-cloak="" class="md-inline-form inputdemoBasicUsage" > 

    <md-content md-theme="docs-dark" layout-gt-sm="row" layout-padding=""> 
     <div> 
     <md-input-container flex-gt-sm=""> 
      <label>Título</label> 
      <input ng-model="user.titulo"> 
     </md-input-container> 

     <md-input-container flex-gt-sm=""> 
      <label>Email</label> 
      <input ng-model="user.email" type="email"> 
     </md-input-container> 
     </div> 
    </md-content> 

    <md-content layout-padding=""> 
     <div> 
     <form name="userForm"> 

      <div layout-gt-xs="row"> 
      <md-input-container flex-gt-xs=""> <!-- class="md-block" disabled="" --> 
       <label>Empresa</label> 
       <input ng-model="user.empresa" > 
      </md-input-container> 


      </div> 

      <div layout-gt-sm="row"> 
      <md-input-container class="md-block" flex-gt-sm=""> 
       <label>Nombre</label> 
       <input ng-model="user.nombre"> 
      </md-input-container> 

      <md-input-container class="md-block" flex-gt-sm=""> 
       <label>Teléfono</label> 
       <input ng-model="user.nombre"> 
       <!-- ng-model="theMax" --> 
      </md-input-container> 
      </div> 

      <md-input-container class="md-block"> 
      <label>Dirección</label> 
      <input ng-model="user.direcdion"> 
      </md-input-container> 



      <div layout-gt-sm="row"> 
      <md-input-container class="md-block" flex-gt-sm=""> 
       <label>País</label> 
       <input ng-model="user.pais"> 
      </md-input-container> 

      <md-input-container class="md-block" flex-gt-sm=""> 
       <label>Estado</label> 
       <input ng-model="user.estado"> 
      </md-input-container> 
      </div> 

      <md-input-container class="md-block"> 
      <label>Mensaje</label> 
      <textarea ng-model="user.mensaje" md-maxlength="150" rows="5" md-select-on-focus=""></textarea> 
      </md-input-container> 
    <div> 
      <md-button type="submit" >ENVIAR</md-button> 
     </div> 

     </form> 
     </div> 
    </md-content> 

    </div> 
</div> 







<!-- ............................. ANGULAR - A.MATERIAL ......................................--> 
    <!-- Angular Material requires Angular.js Libraries --> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-touch.js"></script> 
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular-animate.js"></script> 
    <!-- Angular Material Library --> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script> 



    <!-- Your application bootstrap --> 
    <script type="text/javascript">  
    angular.module('mmadera',['ngMaterial','ngMessages']) 
    .controller('SwitchDemoCtrl', function($scope) { 
    $scope.data = { 
    cb1: true, 
    cb4: true, 
    cb5: false 
    }; 

    $scope.message = 'false'; 

    $scope.onChange = function(cbState) { 
    $scope.message = cbState; 
    }; 
}) 
/* __________________________ PANEL js __________________________*/ 

/* __________________________ FOOTER __________________________*/ 
.controller('footsoc', function($scope) { 
     $scope.abre = false; 

     $scope.mov = { 
     isOpen: false, 
     count: 0, 
     selectedDirection: 'right' 
     }; 
    }) 
/* __________________________ FOOTER __________________________*/ 

/* __________________________ SIDE BAR (Proceso) __________________________*/ 

.controller('AppCtrl', function ($scope, $timeout, $mdSidenav, $log) { 
    $scope.toggleLeft = buildDelayedToggler('left'); 
    $scope.toggleRight = buildToggler('right'); 
    $scope.isOpenRight = function(){ 
     return $mdSidenav('right').isOpen(); 
    }; 

    /** 
    * Supplies a function that will continue to operate until the 
    * time is up. 
    */ 
    function debounce(func, wait, context) { 
     var timer; 

     return function debounced() { 
     var context = $scope, 
      args = Array.prototype.slice.call(arguments); 
     $timeout.cancel(timer); 
     timer = $timeout(function() { 
      timer = undefined; 
      func.apply(context, args); 
     }, wait || 10); 
     }; 
    } 

    /** 
    * Build handler to open/close a SideNav; when animation finishes 
    * report completion in console 
    */ 
    function buildDelayedToggler(navID) { 
     return debounce(function() { 
     // Component lookup should always be available since we are not using `ng-if` 
     $mdSidenav(navID) 
      .toggle() 
      .then(function() { 
      $log.debug("toggle " + navID + " is done"); 
      }); 
     }, 200); 
    } 

    function buildToggler(navID) { 
     return function() { 
     // Component lookup should always be available since we are not using `ng-if` 
     $mdSidenav(navID) 
      .toggle() 
      .then(function() { 
      $log.debug("toggle " + navID + " is done"); 
      }); 
     } 
    } 
    }) 
    .controller('LeftCtrl', function ($scope, $timeout, $mdSidenav, $log) { 
    $scope.close = function() { 
     // Component lookup should always be available since we are not using `ng-if` 
     $mdSidenav('left').close() 
     .then(function() { 
      $log.debug("close LEFT is done"); 
     }); 

    }; 
    }) 
    .controller('RightCtrl', function ($scope, $timeout, $mdSidenav, $log) { 
    $scope.close = function() { 
     // Component lookup should always be available since we are not using `ng-if` 
     $mdSidenav('right').close() 
     .then(function() { 
      $log.debug("close RIGHT is done"); 
     }); 
    }; 
    }) 
    .controller('DemoCtrl', function() { 
     this.isOpen = false; 

     this.availableModes = ['md-fling', 'md-scale']; 
     this.selectedMode = 'md-fling'; 

     this.selectedDirection = 'right'; 
    }) 
    .controller('DropdownCtrl', function ($scope, $log) { 
    $scope.items = [ 
    'The first choice!', 
    'And another choice for you.', 
    'but wait! A third!' 
    ]; 

    $scope.status = { 
    isopen: false 
    }; 

    $scope.toggled = function(open) { 
    $log.log('Dropdown is now: ', open); 
    }; 

    $scope.toggleDropdown = function($event) { 
    $event.preventDefault(); 
    $event.stopPropagation(); 
    $scope.status.isopen = !$scope.status.isopen; 
    }; 

    $scope.appendToEl = angular.element(document.querySelector('#dropdown-long-content')); 
}) 
    .controller('DemoCtrl', function($scope) { 
    $scope.user = { 
     titulo: 'Quiero vender mas!', 
     email: '[email protected]', 
     nombre: '', 
     telefono: '', 
     empresa: 'Koomkin', 
     direccion: '1600 Amphitheatre Pkwy', 
     pais: 'México', 
     estado: 'CDMX', 
     mensaje: 'Escribe tu mensaje', 
     postalCode: '94043' 
    }; 
    }) 
    .config(function($mdThemingProvider) { 

    // Configure a dark theme with primary foreground yellow 

    $mdThemingProvider.theme('docs-dark', 'default') 
     .primaryPalette('yellow') 
     .dark(); 

    }); 
    </script> 



</body> 
</html> 

谢谢。

回答

0

如果箱子的高度不能改变,请使用max-height风格,overflow属性也一样。

max-height将固定您的盒子高度,而溢出属性设置为hidden将隐藏不在其中的元素,并且不会给您滚动条。

要改变输入的高度,给他们这样的一类:

<input ng-model="user.titulo" class="myInput"> 

,并给他们自己的高度。

仅供参考,应用输入高度的类是md-container .md-input,因此您可以覆盖它或添加一个新的类,就像我以前告诉过的那样。

取决于你如何导入你的CSS表,您可能需要使用!important财产上你的类像这样:

.myInput { 
    height: 20px !important; 
    max-height: 20px !important; 
}