#html #css #twitter-bootstrap
#HTML #css #twitter-bootstrap
Вопрос:
Как я могу изменить синий на другой цвет в этом переключателе начальной загрузки? Я попытался изменить цвет и цвет фона элемента ввода, но это не изменило цвет переключателя.
Вот html и ссылка на начальную загрузку
<div class="custom-control custom-switch ">
<input type="checkbox" class="custom-control-input" id="customSwitch1" (click)="changeState($event)">
<label class="custom-control-label text-yb" for="customSwitch1">Activate</label>
</div>
Ответ №1:
чтобы избежать использования !important
для сброса цвета и bg-color, вы можете использовать filter:hue-rotate(xxdeg) ;
через пользовательский класс
https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/hue-rotate ()
Функция
hue-rotate()
CSS изменяет оттенок элемента и его содержимого. Его результатом является<filter-function>
.
Смотрите также: https://en.wikipedia.org/wiki/Hue
.hr45::before {
filter: hue-rotate(45deg)
}
.hr90::before {
filter: hue-rotate(90deg)
}
.hr180::before {
filter: hue-rotate(180deg)
}
.hr225::before {
filter: hue-rotate(225deg)
}
.hr327brgtns108::before {
filter: hue-rotate(327deg) brightness(108%);
}
html {
display: grid;
height: 100vh;
}
body {
margin: auto;
}
label {
color: #6BBECC;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" />
<body class="m-auto">
<div class="custom-control custom-switch ">
<input type="checkbox" class="custom-control-input" id="customSwitch0" (click)="changeState($event)">
<label class="custom-control-label text-yb hr327brgtns108" for="customSwitch0">Activate #17a2b8</label>
</div>
<div class="custom-control custom-switch ">
<input type="checkbox" class="custom-control-input" id="customSwitch1" (click)="changeState($event)">
<label class="custom-control-label text-yb hr45" for="customSwitch1">Activate lightpurple</label>
</div>
<div class="custom-control custom-switch ">
<input type="checkbox" class="custom-control-input" id="customSwitch2" (click)="changeState($event)">
<label class="custom-control-label text-yb hr90" for="customSwitch2">Activate pinkish </label>
</div>
<div class="custom-control custom-switch ">
<input type="checkbox" class="custom-control-input" id="customSwitch3" (click)="changeState($event)">
<label class="custom-control-label text-yb hr180" for="customSwitch3">Activate brownish </label>
</div>
<div class="custom-control custom-switch ">
<input type="checkbox" class="custom-control-input hr180" id="customSwitch4" (click)="changeState($event)">
<label class="custom-control-label text-yb hr225" for="customSwitch4">Activate greenish</label>
</div>
</body>
Комментарии:
1. Спасибо. Я попытался найти оттенок #17a2b8 и увидел 188,2 градуса, но после того, как я применил его к функции поворота оттенка, он не отображается как правильный цвет после рендеринга. Какой правильный градус для #17a2b8?
2. @user1186050 вам также нужно будет сбросить яркость (): попробуйте :
filter: hue-rotate(327deg) brightness(108%);
3. Спасибо! есть ли веб-сайт, который я могу посетить, чтобы найти эти вычисленные значения?
4. вики показывает вам линейку, которая позволяет вам узнать градусы, которые вы можете задать для среднего оттенка — поверните 0-360deg ваш синий был в среднем 230, а ваш цвет в среднем 200, так что 360 — 30 — это средний 330, с которого я начал . Способ, которым я это сделал, заключался в том, чтобы поместить пользовательский ввод на заднем плане того цвета, который вы пытаетесь получить. В какой-то момент это будет нормально, слишком темно или слишком ярко. вы можете завершить настройку с помощью contrast() и / или brightness() . для нужной вам математики было бы проще начать с цвета rgb (), но я недостаточно долго ходил в школу, чтобы эффективно помочь здесь 🙂
5. любой цвет, который вы хотите повернуть, будет установлен на 0/360. линейки начинаются с красного, а синий — с 240
Ответ №2:
Просто добавьте это в свой файл css или добавьте его в свой html-файл между <style>
… </style>
, чтобы изменить цвет фона переключателя — он также удаляет или изменяет синий круг и тень. =]
.form-switch .form-check-input {
height: 24px;
width: 48px;
}
.form-switch .form-check-input:focus {
border-color: rgba(0, 0, 0, 0.25);
outline: 0;
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
background-image: url("data:image/svg xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(0,0,0,0.25)'/></svg>");
}
.form-switch .form-check-input:checked {
background-color: #30D158;
border-color: #30D158;
border: none;
background-image: url("data:image/svg xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba(255,255,255,1.0)'/></svg>");
}