Перейти к содержанию

Рекомендуемые сообщения

Всем привет
хочу стилизовать radio кнопки в опциях

 

вроде в css написал
но не хотят работать
подскажите пожалуйста где ошибку допустил)

 

вот css 

Спойлер

input[type=radio],
input[type=checkbox] {
	display: none;
}

label:before {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	position: absolute;
	left: 0;
	bottom: 1px;
	background-color: #aaa;
	box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, .3), 0px 1px 0px 0px rgba(255, 255, 255, .8);
}
.radio label:before {
	border-radius: 8px;
}

input[type=radio],
input[type=checkbox] {
	display: none;
}

input[type=radio]:checked + label:before {
    content: "\2022";
    color: #f3f3f3;
    font-size: 30px;
    text-align: center;
    line-height: 18px;
}

 

 

а вот опция

Спойлер

<?php if ($option['type'] == 'radio') { ?>
            <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
              <label class="control-label"><?php echo $option['name']; ?></label>
              <div id="input-option<?php echo $option['product_option_id']; ?>">
                <?php foreach ($option['product_option_value'] as $option_value) { ?>
                <div class="radio">
                  <label>
                    <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" />
                    <?php if ($option_value['image']) { ?>
                    <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" /> 
                    <?php } ?>                    
                    <?php echo $option_value['name']; ?>
                    <?php if ($option_value['price']) { ?>
                    (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                    <?php } ?>
                  </label>
                </div>
                <?php } ?>
              </div>
            </div>
            <?php } ?>

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
<div class="my-class">
<input id="this-id">
<label for="this-id"></label>
</div>

.my-class input:checked ~ label

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, ArtemPitov сказал:

<div class="my-class">
<input id="this-id">
<label for="this-id"></label>
</div>

.my-class input:checked ~ label

 

 

 

когда я прячу radio, то не хочет переключаться опция по label

 

image.png.e96c213977d69e076a72dd81cd490117.png

Изменено пользователем mops0634

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, ArtemPitov сказал:

ID смотрите 

 

вроде нормально

image.thumb.png.64afbc528f6ad39d4076c133e8a067f1.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

разобрался)
вот так нужно было
возможно кому-то нужно (готовое решение)

 

php

Спойлер

<?php if ($option['type'] == 'radio') { ?>
            <div class="radio-class">
            <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>">
              <label class="control-label-new"><?php echo $option['name']; ?></label>
              <div id="input-option<?php echo $option['product_option_id']; ?>">
                <?php foreach ($option['product_option_value'] as $option_value) { ?>
               
                <div class="radio">
                 <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
               
                  <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>">
                    <?php if ($option_value['image']) { ?>
                    <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail" />
                    <?php } ?>                  
                    <?php echo $option_value['name']; ?>
                    <?php if ($option_value['price']) { ?>
                    (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                    <?php } ?>
                  </label>
                </div>
                <?php } ?>
              </div>
            </div> </div>
            <?php } ?>

 

 

 

css

Спойлер

input[type="radio"] {
    display: none;
}

input[type=radio] + label {
    background: #f8f8f8;
    -webkit-transition: .5s ease;
    margin: 4px;
    display: inline-block;
    text-align: center;
    border-radius: 2px;
    font-size: 16px;
    padding: 5px 10px;
}

input[type=radio]:checked + label,.product-grid input[type=radio]:checked + label {
    background: #e0e0e0;
    }

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.