Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Стилизация radio


Recommended Posts

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


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

 

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 years later...
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 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.