Skip to content

Latest commit

 

History

History
120 lines (104 loc) · 2.33 KB

smartPic.md

File metadata and controls

120 lines (104 loc) · 2.33 KB

How to make a smart picture showing with css Back

  • Here is a smart way to show a picture in a html web page. Only with some CSS, the picture will be displayed in a different way like the example.

1. have the html files

<div class="pic-container">
    <!-- the link of the picture you want to jump into -->
    <a href="">
        <div class="over">
            <!-- set the over picture icon -->
            <div class="link-btn" style="background-image: url();"></div>
        </div>
    </a>
    <!-- set the picture src -->
    <div class="shop" style="background-image: url();"></div>
</div>

2. set the css

.pic-container {
	margin-top: 2%;
	display: inline-block;
	width: 75%;
	height: 300px;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	z-index: 1;
}

.pic-container .shop {
	width: 100%;
	height: 100%;
	position: absolute;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transition: transform 1.5s;
	-webkit-transition: transform 1.5s;
}

.pic-container .over {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 2;
	opacity: 0;
	transition: opacity 0.4s;
	-webkit-transition: opacity 0.4s;
}

.pic-container .over .link-btn {
	width: 100%;
	height: 100%;
	position: absolute;
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 15%;
	z-index: 3;
}

.pic-container .over .product-name {
	color: #fff;
	position: absolute;
	bottom: 3%;
	text-align: center;
	width: 100%;
	font-size: 1.2em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.pic-container .over .product-price {
	color: #ffa200;
	position: absolute;
	top: 3%;
	right: 3%;
	font-size: 1.5em;
}

.pic-container .line {
	height: 1px;
	background-color: white;
	width: 40%;
	left: 30%;
	position: absolute;
	transition: transform 1.5s;
	-webkit-transition: transform 1.5s;
}

.pic-container .ln1 {
	top: 40%;
}

.pic-container .ln2 {
	bottom: 40%;
	transition-delay:  0.2s;
	-webkit-transition-delay:  0.2s;
}

.pic-container:hover .shop {
	transform: scale(1.04, 1.04);
	-webkit-transform: scale(1.04, 1.04);
}

.pic-container:hover .over {
	opacity: 1;
}

.pic-container:hover .line {
	transform: scale(0.2, 1);
	-webkit-transform: scale(0.2, 1);
}