Как установить динамическую высоту элемента?
Я пытаюсь установить динамическую высоту для элемента в моей демонстрации. Я расскажу вам, что я делаю статическое или постоянное значение высоты в своей демонстрации. Я принимаю постоянное значение 250px
#wrapper{
background-image: url(https://dl.dropboxusercontent.com/s/nz1fzunlqzzz7uo/login_bg.png?dl=0);
min-height: 250px;
background-repeat: no-repeat;
}
Но мне нужно добавить эту высоту динамически. Я получил высоту от этого
$scope.hgt =$window.innerHeight/3;
alert($scope.hgt)
Но мне нужно установить $scope.hgt значение min-height в #wrapper div динамически?. Я не хочу принимать статическое значение высоты div. Я хочу добавить динамически.
вот мой код
http://codepen.io/anon/pen/bdgawo
то же самое, что мне нужно в angular, что мы делаем в jquery
$('#wrapper').css('height': $window.innerHeight / 3)
Ответы
Ответ 1
Вы могли бы просто добиться этого по собственной директиве, которая будет динамически добавлять css
Разметка
<div id="wrapper" set-height>
<h4 class="headerTitle">tell Mother name</h4>
</div>
Директива
.directive('setHeight', function($window){
return{
link: function(scope, element, attrs){
element.css('height', $window.innerHeight/3 + 'px');
//element.height($window.innerHeight/3);
}
}
})
Лучшим решением было бы использовать директиву ng-style, которая ожидает значения в формате JSON.
<div id="wrapper" ng-style="{height: hgt+ 'px'}">
<h4 class="headerTitle">tell Mother name</h4>
</div>
Рабочий Codepen
Ответ 2
Следующее должно работать. Вложение его в фрагмент кода не будет отображаться, так как размер окна невелик, поэтому он вытягивает высоту из атрибута min-height. Проверьте его на большее окно.
<div id="wrapper" style="height: {{ hgt }}px" >
<h4 class="headerTitle">tell Mother name</h4>
<div>
Ответ 3
установить динамическую высоту с нижним колонтитулом заголовка элемента?
HTML
<div class="content-wrapper" win-height>
</div>
JS
app.directive('winHeight', function ($window) {
return{
link: function (scope, element, attrs) {
angular.element(window).resize(function () {
scope.winHeight();
});
setTimeout(function () {
scope.winHeight();
}, 150);
scope.winHeight = function () {
element.css('min-height', angular.element(window).height() -
(angular.element('#header').height() +
angular.element('#footer').height()));
}
}
}
})
Ответ 4
Ниже приведен пример применения других элементов width к текущему элементу.
Ширина элемента, который имеет имя класса "container", будет применяться к div с помощью команды flexibleCss angular js
<div flexible-width widthof="container">
</div>
myApp.directive('flexibleWidth', function(){
return function(scope, element, attr) {
var className = attr.widthof;
var classWidth = angular.element(document.querySelectorAll('.'+className)[0])[0].clientWidth;
element.css({
width: classWidth+ 'px'
});
};
});