如何使href内的完整图像可点击

时间:2019-03-14 17:58:39

标签: html css less

一个简单的问题,我做错了什么,但是在这里没有得到什么问题。我想使图像可点击,因为它是链接,但这无法正常工作,链接仅停留在中间,而不是保持我想要的完整图像。有人可以帮忙吗?

<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 :(得分:0)

最初尝试运行代码时,没有应用任何内部样式。这是因为您的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>