Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Стилизация radio


mops0634
 Поделиться

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

Всем привет
хочу стилизовать 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
Ссылка на комментарий
Поделиться на других сайтах


ID смотрите 

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

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

 

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;
    }

 

 

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


  • 2 года спустя...
On 8/19/2017 at 7:44 PM, mops0634 said:

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

 

php

  Hide contents


<?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

  Hide contents


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;
    }

 

 

Для версии Opencart 3 код отличается. Не хватает  знаний... Может кто исправлял уже. Поделитесь

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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