本节我们将学习如何使用 css3 来布局图片
下面的范例给图片添加圆角效果
img {border-radius: 8px;}
img { border-radius: 50%;}
我们可以使用 CSS border 属性来创建缩略图
<style>
img {
border: 1px solid #ddd;
border-radius: 4px;
padding: 5px;
}
</style>
<img src="/static/i/css/paris.jpg" alt="Paris">
<style>
a {
display: inline-block;
border: 1px solid #ddd;
border-radius: 4px;
padding: 5px;
transition: 0.3s;
}
a:hover {
box-shadow: 0 0 2px 1px rgba(0, 140, 186, 0.5);
}
</style>
<a href="paris.jpg"><img src="/static/i/css/paris.jpg" alt="Paris"></a>
响应式图片会自动适配各种尺寸的屏幕
在我们的范例中,你可以通过重置浏览器大小查看效果
如果需要自由缩放图片,且图片放大的尺寸不大于其原始的最大值,则可以如下设置 CSS 样式
img { max-width: 100%; height: auto;
}
下面的范例演示了如何定位图片文本
div.polaroid {
width: 80%;
background-color: white;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}
img {width: 100%}
div.container {
text-align: center;
padding: 10px 20px;
}
CSS filter 属性用为元素添加可视效果,例如模糊与饱和度
Internet Explorer 或 Safari 5.1 (及更早版本)不支持该属性
下面的范例修改所有图片的颜色为黑白 (100% 灰度)
img {
-webkit-filter: grayscale(100%); /* Chrome, Safari, Opera */
filter: grayscale(100%);}
.responsive {
padding: 0 6px;
float: left;
width: 24.99999%;
}
@media only screen and (max-width: 700px){
.responsive {
width: 49.99999%;
margin: 6px 0;
}
}
@media only screen and (max-width: 500px){
.responsive {
width: 100%;
}
}
现在我们学习使用 CSS 和 JavaScript 来一起渲染图片
首先使用 CSS 来创建 modal 窗口 (对话框), 默认是隐藏的
然后,使用 JavaScript 来显示模态窗口,当我们点击图片时,图片会在弹出的窗口中显示
// 获取模态窗口
var modal = document.getElementById('myModal');
// 获取图片模态框,alt 属性作为图片弹出中文本描述
var img = document.getElementById('myImg');
var modalImg = document.getElementById("img01");
var captionText = document.getElementById("caption");
img.onclick = function(){
modal.style.display = "block";
modalImg.src = this.src;
modalImg.alt = this.alt;
captionText.innerhtml = this.alt;
}
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}