Как добавить тень нижнего блока для заголовка таблицы - PullRequest
2 голосов
/ 14 июля 2020

Я пытаюсь добавить тень нижнего блока для заголовков таблицы, но по какой-то причине тень появляется и по бокам. Ниже приведен код, который я пытаюсь использовать.

#customers {
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

#customers td,
#customers th {
  padding: 8px;
}

#customers th {
  box-shadow: 0 1px 2px 0px grey;
}
<table id="customers">
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Berglunds snabbköp</td>
    <td>Christina Berglund</td>
    <td>Sweden</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
</table>

Я ищу тень блока с blur:2px, spread:0px, y-offset:1px и x-offset:0px

Ответы [ 3 ]

1 голос
/ 14 июля 2020

Думаю, это может быть то, что вы ищете. Я немного отредактировал box-shadow и центрировал данные таблицы td и заголовок таблицы th, чтобы он выглядел красиво

#customers {
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

#customers td,
#customers th {
  padding: 8px;
  /* added */
  text-align: center;
}

#customers th {
  /* edited */
  box-shadow: 0px 2px 0px rgba(128,128,128, .15);
}
<table id="customers">
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Berglunds snabbköp</td>
    <td>Christina Berglund</td>
    <td>Sweden</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
</table>
0 голосов
/ 14 июля 2020

Вы можете добавить clip-path для обрезки ненужной тени:

#customers {
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

#customers td,
#customers th {
  padding: 8px;
}

#customers th {
  box-shadow: 0 1px 4px 0px grey;
  clip-path:inset(0 0 -10px 0); /* 10px or any bigger value than the blur */
}
<table id="customers">
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Berglunds snabbköp</td>
    <td>Christina Berglund</td>
    <td>Sweden</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
</table>
0 голосов
/ 14 июля 2020

Вам нужно добавить отрицательное значение к левой тени коробки, чтобы она переместила тень в левую сторону, сделав ее скрытой за исходным элементом.

Изменить: вместо этого дать тень tr чтобы убрать пробел между тенями.

#customers {
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

#customers td,
#customers th {
  padding: 8px;
}

.headingtr {
  box-shadow: 0 2px 2px -2px grey;
}
<table id="customers">
  <tr class="headingtr">
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Berglunds snabbköp</td>
    <td>Christina Berglund</td>
    <td>Sweden</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...