Возникли проблемы с применением изображений границ

В настоящее время я работаю над школьным проектом, в котором мне нужно применить несколько изображений границ к элементу, используя источник изображения границы. Однако я сталкиваюсь с проблемами, когда отображается только одно из изображений границы, а другое не применяется. Вместо этого она будет отображаться в виде серой рамки, если будут применены обе границы, как показано ниже (слева). Когда я чередую обе границы, они выглядят так, как показано на среднем и правом изображениях. Однако, когда я пытаюсь включить оба элемента проверки, это не работает (справа). помогите мне

Вот полный код класса

// CSS
.calendar {
    height: 300px;
    width: 400px;
    margin: 0 auto;
    margin-top: 50px;
    background-image: url(calendarbg.png); 
    background-size: auto; 
    background-position: center;
    /* ^^ not relevant, i guess ^^ */

    border-style: solid;
    border-image-source:  url(border1.png);
    /* border-image-source: url(border.png); */
    border-image-slice: 30 fill;
    border-width: 20px;
}
// HTML 
<table class = "calendar">
        <thead> 
            <tr>
            <th colspan = "7" class = "mHeader"> January </th>
            </tr>
                <tr>
                    <th>Sun</th>
                    <th>Mon</th>
                    <th>Tue</th>
                    <th>Wed</th>
                    <th>Thu</th>
                    <th>Fri</th>
                    <th>Sat</th>
                </tr>
            </thead>
 <tbody>
        <tr>
            <td></td>
            <td>1</td>
            <td>2</td>
            <td>3</td>
            <td>4</td>
            <td>5</td>
            <td>6</td>
        </tr>
        <tr>
            <td>7</td>
            <td>8</td>
            <td>9</td>
            <td>10</td>
            <td>11</td>
            <td>12</td>
            <td>13</td>
        </tr>
        <tr>
            <td>14</td>
            <td>15</td>
            <td>16</td>
            <td>17</td>
            <td>18</td>
            <td>19</td>
            <td>20</td>
        </tr>
        <tr>
            <td>21</td>
            <td>22</td>
            <td>23</td>
            <td>24</td>
            <td>25</td>
            <td>26</td>
            <td>27</td>
        </tr>
        <tr>
            <td>28</td>
            <td>29</td>
            <td>30</td>
            <td>31</td>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        </tbody>
    </table>

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

Какой HTML-тег вы пытаетесь установить границу?

Richie 10.03.2024 11:01

Пожалуйста, покажите нам код, в котором вы пытались применить оба изображения.

A Haworth 10.03.2024 11:02

Извините за отсутствие информации, но здесь @Richie в <table class = "calendar">

BBTBNWJDFOOTSYK 10.03.2024 11:19

@AHaworth border-image-source: url(border1.png), url(border.png); изображение, которое я разместил (левое изображение), является результатом

BBTBNWJDFOOTSYK 10.03.2024 11:19

Поместите это в раздел кода, а не в раздел комментариев.

Richie 10.03.2024 11:39

Итак, вы хотите также стилизовать td и th? Вам также необходимо стилизовать класс mHeader и соответствующие html-теги <th> и <td>.

Richie 10.03.2024 12:06

Это уже сделано, осталось сделать только рамку календаря. Считаете ли вы, что это может быть причиной того, что изображение границы не работает должным образом? @Ричи

BBTBNWJDFOOTSYK 10.03.2024 13:00

Как получается, что у тебя нет границ, а у меня есть? Нажмите --> [i.ibb.co/sgCv0PS/border.jpg]

Richie 10.03.2024 14:02
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
8
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Насколько я понимаю вашу проблему, вы хотите, чтобы правая и левая границы были одним изображением, а верхняя и нижняя границы — другим. Я думаю, вам следует использовать border-imageсвойство здесь. Это дает вам возможность устанавливать собственные границы со всех сторон, используя одно изображение, содержащее все границы.

Ваш результирующий код будет выглядеть примерно так:

border-image: url("border.png") 27;

Где url() — содержит путь к вашему изображению, а 27 — это количество пикселей, которое браузер сместит, чтобы разделить его на девять областей: четыре угла, четыре края и середину.

Если этого недостаточно, проверьте border-image-sliceнедвижимость

P.S. Сам я им никогда не пользовался и мало что о нем знаю, так что имейте это в виду.

Другие вопросы по теме