Как сделать полное изображение внутри href кликабельным - PullRequest
0 голосов
/ 14 марта 2019

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

<div>
<ul class="principaisCategorias">
    <li class="itemCategoria">
        <div class="imagesItemCategoria">
            <a data-bind="ccLink:{route: '/category/ar-condicionado-portatil'}">
                <img src="/file/general/imageItemCategoria.jpg" />
            </a>
        </div>
    </li>
 </ul>
</div>

А вот мой css:

div{
    display: inline;
    font-weight: bold;
    text-align: center;
    ul{
        padding: 0;
        margin: 0;
        &.principaisCategorias{
            width: 102%;
            height: 450px;
            display: flex;
            justify-content: flex-start;
            flex-wrap: wrap;
            .itemCategoria{
                list-style-type: none;
                margin-top: 2px;
                margin-left: 2%;
                margin-bottom: 2px;
                margin-right: 2%;
                height: 140px;
                width: 45%;
                background-color: mediumturquoise;
                .imagesItemCategoria {
                    width: 100%;
                    height: 100%;
                    position: relative;
                    display: inline-block;
                    img, a{
                        display: block;
                        width: 100%;
                        height: 100%;
                        max-height:100%; 
                        max-width:100%;
                    }
                    a{
                        display: inline-block;
                    }
                }
            }
        }
    }
}

1 Ответ

0 голосов
/ 14 марта 2019

Когда я пытался запустить код, изначально ни один из внутренних стилей не применялся. Это потому, что ваш CSS вложен как SASS или SCSS. Когда я переориентировал на обычный синтаксис CSS, он стал работать лучше.

Что касается проблемы поведения ссылки a, у вас нет атрибута href для этого элемента, поэтому он ведет себя более или менее как тег <span>. Там также было несколько других ненужных стилей. Это все, что мне нужно, чтобы заставить его вести себя так, как я ожидал:

.imagesItemCategoria a {
    display: block;
    cursor: pointer;
}

Полный код и рабочая демонстрация:

.wrapper {
    display: inline;
    font-weight: bold;
    text-align: center;
}
ul.principaisCategorias{
    width: 102%;
    height: 450px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}
.itemCategoria{
    list-style-type: none;
    margin-top: 2px;
    margin-left: 2%;
    margin-bottom: 2px;
    margin-right: 2%;
    height: 140px;
    width: 45%;
    background-color: mediumturquoise;
}
.imagesItemCategoria {
    width: 100%;
    height: 100%;
    position: relative;
    display: inline-block;
}
.imagesItemCategoria a {
    display: block;
    cursor: pointer;
}
.imagesItemCategoria img {
  width: 100%;
  height: auto;
  display: block;
}
<div class="wrapper">
<ul class="principaisCategorias">
    <li class="itemCategoria">
        <div class="imagesItemCategoria">
            <a data-bind="ccLink:{route: '/category/ar-condicionado-portatil'}">
                <img src="https://picsum.photos/300" />
            </a>
        </div>
    </li>
 </ul>
</div>
...