Аккордеонная коробка тени на теле выпадающего - PullRequest
0 голосов
/ 12 сентября 2018

Я работаю над элементом управления аккордеоном для своего сайта, который вложен в карту. Я добавил тень к заголовку аккордеона, которая выглядит хорошо, но когда я расширяю его, тело появляется с тенью.То, что я хотел бы выяснить, это способ иметь тень на теле, но не заставлять ее выскакивать, когда аккордеон расширяется.Я настроил этот пример

/* CSS used here will be applied after bootstrap.css */

.recent-posts {
  background: #D2C198;
  margin-left: 400px;
  margin-right: 400px;
}

.post-card {
  background-color: #D2C198;
}

.reply-link,
.reply-link:hover,
.reply-link:active,
.reply-link:visited,
.user-post,
.user-post:hover,
.user-post:active,
.user-post:visited {
  color: #222222;
  text-decoration: none !important;
}

.card-header {
  -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -moz-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.post-body {
  -webkit-box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -moz-box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.post-reply {
  padding-bottom: 10px;
}

.forum-image {
  border-radius: 50%;
  width: 100px;
  height: 100px;
  object-fit: cover;
}

.post-header {
  padding-left: 30px;
  height: 25px;
  margin-left: 86px;
}

.post-divider {
  border-bottom: 1px solid #222;
  padding-top: 5px;
}

.avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.header-forum-badge {
  float: left;
}

.post-info {
  padding-top: 10px;
}

.user-post {
  display: inline-flex;
  margin-left: 14px;
}

.user-post-avatar {
  margin-right: 12px;
}

.post-views-replies {
  float: right;
  text-align: right;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<div class="card recent-posts">
  <div class="card-body">
    <div id="post-accordian">
      <div class="card post-card">

        <div class="card-header" id="post-heading" onmouseover="" data-toggle="collapse" data-target="#post-collapse" aria-expanded="true" aria-controls="post-collapse">
          accordian header
        </div>
        <!-- Collapse panel -->
        <div id="post-collapse" class="collapse post-container" aria-labelledby="post-heading" data-parent="#post-accordian">
          <div class="card-body post-body">

            <!-- collapse panel content -->
            accordian body
            <!-- End collapse panel content -->

          </div>
        </div>
      </div>
    </div>
  </div>
</div>

Есть ли способ исправить это так, чтобы это был всего один плавный переход, чтобы при раскрытии тень блока окружала оба элемента?

1 Ответ

0 голосов
/ 12 сентября 2018

Ты уверен, что можешь. Просто примените тень к их родительскому элементу. В этом случае .post-card контейнер.

/* CSS used here will be applied after bootstrap.css */

.recent-posts {
  background: #D2C198;
  /*margin-left: 400px;
  margin-right: 400px; disabled because it looks bad in SO snippet*/
}

.post-card {
  background-color: #D2C198;
  -webkit-box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -moz-box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.reply-link,
.reply-link:hover,
.reply-link:active,
.reply-link:visited,
.user-post,
.user-post:hover,
.user-post:active,
.user-post:visited {
  color: #222222;
  text-decoration: none !important;
}

/*.card-header {
  -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -moz-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.post-body {
  -webkit-box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -moz-box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}*/

.post-reply {
  padding-bottom: 10px;
}

.forum-image {
  border-radius: 50%;
  width: 100px;
  height: 100px;
  object-fit: cover;
}

.post-header {
  padding-left: 30px;
  height: 25px;
  margin-left: 86px;
}

.post-divider {
  border-bottom: 1px solid #222;
  padding-top: 5px;
}

.avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.header-forum-badge {
  float: left;
}

.post-info {
  padding-top: 10px;
}

.user-post {
  display: inline-flex;
  margin-left: 14px;
}

.user-post-avatar {
  margin-right: 12px;
}

.post-views-replies {
  float: right;
  text-align: right;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<div class="card recent-posts">
  <div class="card-body">
    <div id="post-accordian">
      <div class="card post-card">

        <div class="card-header" id="post-heading" onmouseover="" data-toggle="collapse" data-target="#post-collapse" aria-expanded="true" aria-controls="post-collapse">
          accordian header
        </div>
        <!-- Collapse panel -->
        <div id="post-collapse" class="collapse post-container" aria-labelledby="post-heading" data-parent="#post-accordian">
          <div class="card-body post-body">

            <!-- collapse panel content -->
            accordian body
            <!-- End collapse panel content -->

          </div>
        </div>
      </div>
    </div>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...