css3 - AngularJS ng-class cannot override Bootstrap dropdown CSS rules -



css3 - AngularJS ng-class cannot override Bootstrap dropdown CSS rules -

using angularjs-1.2.26 directive ng-class, attempting override bootstrap 3.2 css rules dropdown-menu & dropdown-header, new font-size, padding, margin not effecting html display.

i using ajs1.2.26 ng-class override (bs3 base of operations classes) navbar-brand, navbar-nav among others using ajs techniques such follows:

<a data-ng-class="settings.navbarbranddensity" class="navbar-brand" ui-sref="home">app</a> <ul data-ng-class="settings.navbarnavdensity" class="nav navbar-nav"> <span data-ng-class="{invisible: settings.displaydensity != 'comfortable'}"> class="fa fa-check fa-fw" </span>&nbsp;&nbsp;comfortable</a>

i have plunker shows navbar working, dropdown not working:

http://plnkr.co/edit/tkq3mqdsak3atxjgsiru

in plunker above click on gear icon (e.g., setting) switch between comfortable cozy, compact , navbar change, associated dropdown not.

the variables displaydensity, navbarbranddensity, navbarnavdensity initialized in .run of maincontroller, , in .controller setup $watches. basic thought implament gmail comfortable, cozy, compact feature.

.run ... $rootscope.settings = { displaydensity: 'cozy', navbardensity: 'navbar-cozy', navbarnavdensity: 'navbar-nav-cozy', navbarbranddensity: 'navbar-brand-cozy', navbartoggledensity: 'navbar-toggle-cozy', faicondensity: '', dropdownmenudensity: 'dropdown-menu-cozy', dropdownheaderdensity: 'dropdown-header-cozy' }; .controller ... $scope.$watch('settings.displaydensity', function() { $scope.settings.navbardensity = 'navbar-' + $scope.settings.displaydensity; $scope.settings.navbarnavdensity = 'navbar-nav-' + $scope.settings.displaydensity; $scope.settings.navbarbranddensity = 'navbar-brand-' + $scope.settings.displaydensity; $scope.settings.navbartoggledensity = 'navbar-toggle-' + $scope.settings.displaydensity; $scope.settings.faicondensity = 'fa-icon-' + $scope.settings.displaydensity; $scope.settings.dropdownmenudensity = 'dropdown-menu-' + $scope.settings.displaydensity; $scope.settings.dropdownheaderdensity = 'dropdown-header-' + $scope.settings.displaydensity; });

below in dropdown-menu-cozy default values bs3, , in dropdown-menu-comfortable new rules want apply when user clicks on 'comfortable'

dropdown-menu-cozy { padding: 5px 0; margin: 2px 0 0; font-size: 14px; } dropdown-menu-comfortable { padding: 10px 0 !important; margin: 4px 0 0 !important; font-size: 18px !important; /* font-size: inherit !important; */ }

here screenshot chrome development tools shows when eliminate (i.e., un-check) values font-size, padding, margin end with, things ok. (the un-check causes dropdown inherit rules i've sucessfully changed in navbar parent) using pestiside css debug library line/boxes around elements in picture.

css sort of drive me nuts! i'am programmer baby! if can through little plunker , see improve approach appreciated.

maybe there limitations ng-class not aware of or fixes in later varsions of ajs (have not tried 1.3.x because of ie project limitations)

i can produce finish github using yeoman, grunt, bower if interested in comfortable, cozy, compact manipulation of bs3.

if there existing css files (projects) out there compact or expand bs3 padding, margins interested!

simple nasty error :

you forgot dot in css indicating classes

simply replace

dropdown-menu-... { ... }

with

.dropdown-menu-... { ... }

angularjs css3 twitter-bootstrap-3 angular-ui-bootstrap ng-class

Comments

Popular posts from this blog

assembly - What is the addressing mode for ld, add, and rjmp instructions? -

vowpalwabbit - Interpreting Vowpal Wabbit results: Why are some lines appended by "h"? -

Is there a way to convert an HTML page styled with Bootstrap CSS into email-compatible html? -