Показать сообщение отдельно
  #1 (permalink)  
Старый 12.02.2016, 14:36
Аспирант
Отправить личное сообщение для Pobedill Посмотреть профиль Найти все сообщения от Pobedill
 
Регистрация: 10.02.2016
Сообщений: 46

Ссылка-якорь на содержимое аккордеона
Есть аккордеон сделанный на чистом css, на чекбоксах. Как можно сделать ссылку-якорь на содержимое конкретной вкладки? Как заставить вкладку раскрываться? Сделал такую ссылку
<a href="#jacor">Якорь</a>


<ul class="accordion">
    <li class="accordion_item">
        <label class="accordion_trigger" for="toggle-05">Заголовок панели 1</label>
        <input type="checkbox" class="accordion_toggle" id="toggle-05" />
        <div class="accordion_target">
            <p><a name="jacor"></a>
               Сделать якорь, например, на эту информацию.
            </p>
        </div>
    </li>
    <li class="accordion_item">
        <label class="accordion_trigger" for="toggle-06">Заголовок панели 2</label>
        <input type="checkbox" class="accordion_toggle" id="toggle-06" />
        <div class="accordion_target">
            <p>
               Здесь размещаете любое содержание...
            </p>
        </div>
    </li>
</ul>


/**
 * Компоненты аккордеона.
 */
.accordion {
  margin: 0;
  margin-bottom: 1.5rem;
  padding: 0;
  list-style: none;
}
.accordion_item {
  border-bottom: 1px solid #5a95fd;
}
.accordion_item:last-of-type {
  border-bottom: none;
}
/**
* Элемент label который запускает открыть/закрыть.
*/
.accordion_trigger {
  display: block;
  background-color: #007ccf;
  color: #ddd;
  font-weight: bold;
  cursor: pointer;
  padding: 1.5rem;
}
/**
* элементы radio/checkbox всегда должны быть скрыты 
* c помощью нулевых значений свойства clip 
*/
.accordion_toggle {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
/**
* скрытое содержание аккордеона
* c помощью нулевых значений свойства clip
*/
.accordion_target {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  background-color: #ddd;
  color: #444;
}
/**
* когда переключатель checked на radio/checkbox, показать содержимое аккордеона.
*/
.accordion_toggle:checked + .accordion_target {
  position: static;
  overflow: visible;
  width: auto;
  height: auto;
  margin: auto;
  clip: auto;
  padding: 1.5rem;
 /* задержка появления  функция анимации */
 -webkit-animation:fadeIn ease-in 0.7s; 
 -moz-animation:fadeIn ease-in 0.7s;
 animation:fadeIn ease-in 0.7s; 
}
/* анимация при появлении блоков с содержанием */
@-moz-keyframes fadeIn {
    from { opacity: 0; }
to { opacity: 1 }
}
@-webkit-keyframes fadeIn {
    from { opacity: 0; }
to { opacity: 1 }
}
@keyframes fadeIn {
    from { opacity: 0; }
to { opacity: 1 }
}

Последний раз редактировалось Pobedill, 12.02.2016 в 15:21.
Ответить с цитированием