// // Button groups // -------------------------------------------------- // Make the div behave like a button .btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; // match .btn alignment given font-size hack above > .btn { position: relative; float: left; // Bring the "active" button to the front &:hover, &:focus, &:active, &.active { z-index: 2; } &:focus { // Remove focus outline when dropdown JS adds it after closing the menu outline: 0; } } } // Prevent double borders when buttons are next to each other .btn-group { .btn + .btn, .btn + .btn-group, .btn-group + .btn, .btn-group + .btn-group { margin-left: -1px; } } // Optional: Group multiple button groups together for a toolbar .btn-toolbar { margin-left: -5px; // Offset the first child's margin &:extend(.clearfix all); .btn-group, .input-group { float: left; } > .btn, > .btn-group, > .input-group { margin-left: 5px; } } .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match .btn-group > .btn:first-child { margin-left: 0; &:not(:last-child):not(.dropdown-toggle) { .border-right-radius(0); } } // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { .border-left-radius(0); } // Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child { > .btn:last-child, > .dropdown-toggle { .border-right-radius(0); } } .btn-group > .btn-group:last-child > .btn:first-child { .border-left-radius(0); } // On active and open, don't show outline .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } // Sizing // // Remix the default button sizing classes into new ones for easier manipulation. .btn-group-xs > .btn { &:extend(.btn-xs); } .btn-group-sm > .btn { &:extend(.btn-sm); } .btn-group-lg > .btn { &:extend(.btn-lg); } // Split button dropdowns // ---------------------- // Give the line between buttons some depth .btn-group > .btn + .dropdown-toggle { padding-left: 8px; padding-right: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-left: 12px; padding-right: 12px; } // The clickable button for toggling the menu // Remove the gradient and set the same inset shadow as the :active state .btn-group.open .dropdown-toggle { .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); // Show no shadow for `.btn-link` since it has no other button styles. &.btn-link { .box-shadow(none); } } // Reposition the caret .btn .caret { margin-left: 0; } // Carets in other button sizes .btn-lg .caret { border-width: @caret-width-large @caret-width-large 0; border-bottom-width: 0; } // Upside down carets for .dropup .dropup .btn-lg .caret { border-width: 0 @caret-width-large @caret-width-large; } // Vertical button groups // ---------------------- .btn-group-vertical { > .btn, > .btn-group, > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } // Clear floats so dropdown menus can be properly placed > .btn-group { &:extend(.clearfix all); > .btn { float: none; } } > .btn + .btn, > .btn + .btn-group, > .btn-group + .btn, > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } } .btn-group-vertical > .btn { &:not(:first-child):not(:last-child) { border-radius: 0; } &:first-child:not(:last-child) { border-top-right-radius: @border-radius-base; .border-bottom-radius(0); } &:last-child:not(:first-child) { border-bottom-left-radius: @border-radius-base; .border-top-radius(0); } } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) { > .btn:last-child, > .dropdown-toggle { .border-bottom-radius(0); } } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { .border-top-radius(0); } // Justified button groups // ---------------------- .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; > .btn, > .btn-group { float: none; display: table-cell; width: 1%; } > .btn-group .btn { width: 100%; } > .btn-group .dropdown-menu { left: auto; } } // Checkbox and radio options // // In order to support the browser's form validation feedback, powered by the // `required` attribute, we have to "hide" the inputs via `opacity`. We cannot // use `display: none;` or `visibility: hidden;` as that also hides the popover. // This way, we ensure a DOM element is visible to position the popover from. // // See https://github.com/twbs/bootstrap/pull/12794 for more. [data-toggle="buttons"] > .btn > input[type="radio"], [data-toggle="buttons"] > .btn > input[type="checkbox"] { position: absolute; z-index: -1; .opacity(0); } .elementor-animation-grow-rotate { transition-duration: 0.3s; transition-property: transform; } .elementor-animation-grow-rotate:active, .elementor-animation-grow-rotate:focus, .elementor-animation-grow-rotate:hover { transform: scale(1.1) rotate(4deg); } {"id":693978,"date":"2026-09-02T00:31:03","date_gmt":"2026-09-01T22:31:03","guid":{"rendered":"https:\/\/www.solucionessmart.com.uy\/smartporteria\/?p=693978"},"modified":"2026-09-02T00:31:03","modified_gmt":"2026-09-01T22:31:03","slug":"jak-zablokowac-aplikacje-aby-uniemozliwic-jej-uzycie-komus-innemu-%ef%b8%8f","status":"publish","type":"post","link":"https:\/\/www.solucionessmart.com.uy\/smartporteria\/2026\/09\/02\/jak-zablokowac-aplikacje-aby-uniemozliwic-jej-uzycie-komus-innemu-%ef%b8%8f\/","title":{"rendered":"Jak zablokowa\u0107 aplikacj\u0119, aby uniemo\u017cliwi\u0107 jej u\u017cycie komu\u015b innemu? ️"},"content":{"rendered":"
Aplikacje systemowe producenta mog\u0105 mie\u0107 uprzywilejowany dost\u0119p do sieci, kt\u00f3ry standardowe metody blokowania nie obejmuj\u0105 \u2013 jest to celowy element architektury systemu. Je\u015bli zale\u017cy ci na pe\u0142nej kontroli nad ruchem sieciowym urz\u0105dzenia, potrzebujesz zaawansowanych narz\u0119dzi z uprawnieniami roota lub dedykowanego routera z regu\u0142ami filtrowania. Wbudowane opcje Androida maj\u0105 swoje ograniczenia, nie zawsze pozwalaj\u0105 zablokowa\u0107 dost\u0119p do internetu aplikacji kompletnie, zw\u0142aszcza przy Wi-Fi. Je\u015bli potrzebujesz pe\u0142nej kontroli nad ruchem sieciowym w swoim telefonie, z pomoc\u0105 przychodzi NoRoot Firewall \u2013 jedna z popularniejszych aplikacji dost\u0119pnych na Google Play do zarz\u0105dzania blokad\u0105 internetu. Wi\u0119kszo\u015b\u0107 u\u017cytkownik\u00f3w nie zdaje sobie sprawy, \u017ce Android oferuje wbudowan\u0105 blokad\u0119 internetu na poziomie pojedynczej aplikacji \u2013 bez potrzeby instalowania czegokolwiek dodatkowego. Ograniczenie dzia\u0142a osobno dla sieci Wi-Fi i dla danych mobilnych, a to daje spor\u0105 elastyczno\u015b\u0107.<\/p>\n