CSS在图像的右上角定位图标

Nor*_*man 5 html css css3

我试图close在图像的右上角(不是框中)从bootstraps sprite 定位一个图标.我从一个有效的例子中得到了这个,但它对我不起作用.它总是在盒子外面和屏幕的右下角结束.

我怎样才能做到这一点?我已经设置了一个小提琴,但无法想象如何在那里获得精灵.你能帮我吗?

小提琴

<!DOCTYPE HTML>
<html>
<head>
<link media="screen" type="text/css" href="icons.css" rel="stylesheet">
    <title>Delete Image Icon Dev</title>

<style>

img.thumbnail {
    background: none repeat scroll 0 0 #FFFFFF;
}

.image:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.image {
    -moz-box-sizing: border-box;
    border: 1px solid #DDDDDD;
    box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.1);
    float: left;
    height: 150px;
    margin-bottom: 10px;
    padding: 10px;
}

.image img {
    vertical-align: middle;
}

.delete {
    position:absolute;
     top:0;
    right:0;
}

</style>

</head>

<body>
    <div class="image"><img class="thumbnail" src="http://i.imgur.com/dsPfaSjs.jpg"><i class="icon-remove blue delete"></i></div>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

mis*_*Sam 5

这个例子可以拍摄任何高度的图像。

  1. <i class="delete"><div>

  2. <img>用新的删除 div包裹

  3. .image:beforeamin-height: 150px;删除固定高度.image

  4. 适用position: relative.delete

  5. 将删除按钮应用到带有.delete:after或放置另一个伪元素<i>以使其具有交互性。

举个例子!

没有删除伪元素的示例

HTML

<div class="image"> 
    <div class="icon-remove blue delete">       
        <img class="thumbnail" src="http://i.imgur.com/dsPfaSjs.jpg">
        <!-- <i class="delete-button"></i> if you need to use a real element -->
    </div>  
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.image:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    min-height: 150px;
}

.image {
    -moz-box-sizing: border-box;
    border: 1px solid #DDDDDD;
    float: left;
    margin-bottom: 10px;
    padding: 10px;
}

.delete {
    position: relative;
    vertical-align: middle;
    display: inline-block;
}

.delete:after {
    content: '';
    position:absolute;
     top:0;
    right:0;
    height: 20px;
    width: 20px;
    background: #F00;
}

/* If you need to use a real element remove .delete:after and use this  -- 
.delete .delete-button {
    content: '';
    position:absolute;
     top:0;
    right:0;
    height: 20px;
    width: 20px;
    background: #F00;
}*/
Run Code Online (Sandbox Code Playgroud)