CSS 图片
本节我们将学习如何使用 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;}
更多 Web 响应式设计更多内容,可以访问我们的 CSS 响应式设计
图片文本
下面的范例演示了如何定位图片文本
左下角
左上角
右上角
右下角
居中
尝试一下效果
卡片式图片
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%);}
想要了解更多 CSS 滤镜的知识,可以访问我们的 CSS 滤镜参考手册
响应式图片相册
.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%; } }
图片 Modal(模态)
现在我们学习使用 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"; }