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;}


图片文本

下面的范例演示了如何定位图片文本

Norway
左下角
左上角
右上角
右下角
居中


卡片式图片

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%;    
    }
}


图片 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";
}


链接: https://www.fly63.com/course/5_244