如何管理角度响应设计?

时间:2016-06-24 07:11:23

标签: html css angularjs angular-ui-bootstrap

单击添加按钮时,静态文本和文本框将垂直添加。 如何水平添加? 如何使这个设计响应?

对于桌面/笔记本电脑:连续4次。平板电脑:3行,移动设备:1连续。

附上HTML,Java脚本和css文件。请建议。



var app = angular.module('angularjs-starter', []);

app.controller('MainCtrl', function($scope) {

  $scope.choices = [{id: 'choice1'}, {id: 'choice2'}];

  $scope.addNewChoice = function() {
    var newItemNo = $scope.choices.length + 1;
    $scope.choices.push({'id': 'choice' + newItemNo});
  };

  $scope.removeChoice = function() {
    var lastItem = $scope.choices.length - 1;
    $scope.choices.splice(lastItem);
  };

});

fieldset {
  background: #FCFCFC;
  padding: 16px;
  border: 1px solid #D5D5D5;
}
.addfields {
  margin: 10px 0;
}

#choicesDisplay {
  padding: 10px;
  background: rgb(227, 250, 227);
  border: 1px solid rgb(171, 239, 171);
  color: rgb(9, 56, 9);
}
.remove {
  background: #C76868;
  color: #FFF;
  font-weight: bold;
  font-size: 21px;
  border: 0;
  cursor: pointer;
  display: inline-block;
  padding: 4px 9px;
  vertical-align: top;
  line-height: 100%;   
}

input[type="text"],
select {
  padding: 5px;
}

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.9/angular.min.js"></script>

<div ng-app="angularjs-starter" ng-controller="MainCtrl">
  <fieldset data-ng-repeat="choice in choices">
    <select>
      <option>Mobile</option>
      <option>Office</option>
      <option>Home</option>
    </select>
    <input type="text" ng-model="choice.name" name="" placeholder="Enter mobile number">
    <button class="remove" ng-show="$last" ng-click="removeChoice()">-</button>
  </fieldset>
  <button class="addfields" ng-click="addNewChoice()">Add fields</button>

  <div id="choicesDisplay">
    {{ choices }}
  </div>
</div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

为了使其响应,您应该使用Angular MaterialBootstrap

答案 1 :(得分:0)

您可以使用Bootstrap网格(由于您在以这种方式添加列时没有获得正确的.row,因此可能会以其他方式出错)或者只是使用flexbox并根据您的要求手动编写代码非常简单:https://css-tricks.com/dont-overthink-flexbox-grids/