如何用CSS把一个图片放在另一个图片的右(左)下角?形如百度贴吧会员头像上横批!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用CSS把一个图片放在另一个图片的右(左)下角?形如百度贴吧会员头像上横批!相关的知识,希望对你有一定的参考价值。

比如百度贴吧会员头像的右下角 或者 左下角 会有一个小图片,上面有文字“认证会员”、“举世无双”等,我也想实现类似效果,请问如何在一个图片右(左)下角叠加一个小图片?最好这个小图片是背景,上面的文字可以修改。

具体案例,你可以随便打开百度贴吧的一个帖子,看看会员头像就明白我的意思了。

求详细代码,万分感激!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
第一种实现方法:图片作为背景
<div style="width:110px; height:110px; background-image:url(http://tb.himg.baidu.com/sys/portrait/item/b5ceb7e7d6d0b5c4bcc5c4af5f8909); position:relative">
<div style="width:83px; height:20px;background-image:url(http://tieba.baidu.com/tb/static-money/mall/mall_5.gif); position:absolute; bottom:0">
</div>
</div>

第二种实现方法:div使用绝对定位,图片作为div里的对象
<div style="width:110px; height:110px; position:absolute; top:180px; left:0;">
<img src="http://tb.himg.baidu.com/sys/portrait/item/b5ceb7e7d6d0b5c4bcc5c4af5f8909"/>
<div style=" position:absolute; left:0; bottom:0">
<img src="http://tieba.baidu.com/tb/static-money/mall/mall_5.gif" />
</div>
</div>
</body>
</html>

两种方法都可以,也可以自己再组合。
演示的图片是直接使用百度贴吧里的图片的,楼主可以换成自己的图片。
代码直接贴过去运行就可以了。
参考技术A 你可以用两个div在上面的div的属性上加上z-index:后面跟数值,数值越大表示越考上!对于两个div的定位就是你自己的事了 参考技术B 那个是以前百度贴吧商场里面的会员勋章 现在已经下架了 预计国庆节才重新开放 但是以前买的依旧保存 并不是什么代码之类的东西

需要背景图片时如何用 CSS 切角?

【中文标题】需要背景图片时如何用 CSS 切角?【英文标题】:How to cut a corner with CSS when background image is necessary? 【发布时间】:2017-09-20 09:37:16 【问题描述】:

以上是我正在进行的一个项目的图片。这是我走了多远:

创建盒子相当简单;但是,现在我不知道如何在左下角创建这个切角。我已经尝试了很多东西,如果背景不是透明的而是一块颜色,大多数东西都可以工作。由于背景需要是这张图片,如果没有一侧显示某种颜色,我就无法制作切角。这是我的代码:

<div class="profile">
    // HTML content
</div>

<style>
   profile 
   border: 2px solid #fff;
   color: #fff;
   height: 100%;
   padding: 10px;
   width: 250px;
</style>

我已经尝试了多种方法,例如这里的(不是我使用的确切代码,但我遵循了这个示例):

.cut 
  border: none;
  position: relative;


.cut:before 
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-bottom: 20px solid lightgrey;
  border-left: 20px solid #e67e22;
  width: 0;

这会创建一个切角,但有一个纯色块,我需要显示图像,而不是颜色。

有人知道怎么做吗?非常感谢您的建议。谢谢!

【问题讨论】:

【参考方案1】:

您可以使用 before/after 元素来制作这样的底部:

.profile 
position:relative;
display:inline-block;
margin:50px;
border:1px solid #000;
border-bottom:none;
width:100px;
height:200px;
background:#ccc;

.profile:after 
content:" ";
position:absolute;
border:1px solid #000;
height:20px;
width:80px;
bottom:-20px;
right:-1px;
border-top:0;
border-left:0;
background:#ccc;

.profile:before 
content:" ";
position:absolute;
border-bottom:1px solid #000;
height:29px;
width:29px;
transform:rotate(45deg);
bottom:-15px;
left:6px;
background:#ccc;
&lt;div class="profile"&gt;&lt;/div&gt;

底部被分成两部分:一个只有两个边框的矩形+一个有一个边框的正方形,旋转45°

希望对你有帮助

注意:更改尺寸时要小心

【讨论】:

这里成功了!非常感谢您的快速回答。【参考方案2】:

.profile 
  position: relative;
  display: inline-block;
  width: 200px;
  height: 200px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  border-right: 2px solid #000;
  padding: 20px;
  box-sizing: border-box;
  font-family: Arial, sans-serif;


.profile h2 
  margin: 0 0 10px;


.profile p 
  font-size: 14px;


.profile .bottom 
  position: absolute;
  bottom: -30px;
  right: -2px;
  width: 180px;
  height: 30px;
  border-bottom: 2px solid #000;
  box-sizing: border-box;
  border-right: 2px solid #000;


.profile .bottom::before 
  content: '';
  position: absolute;
  left: -10px;
  bottom: -4px;
  width: 2px;
  height: 35px;
  background-color: #000;
  transform: rotate(-35deg);
<div class="profile">
  <h2>Name</h2>
  <p>Description</p>
  <div class="bottom"></div>
</div>

【讨论】:

【参考方案3】:

我认为您正在尝试剪切图像的角落而不是 div,因此您可以执行以下操作:

body 
    background: url('https://www.lunapic.com/editor/premade/o-paint-bucket.gif');


.container 
    display: inline-block;
    width: 200px;
    height: 300px;
    overflow: hidden;


.container .image_container 
    width: 320px;
    height: 550px;
    overflow: hidden;
    display: block;
    position: relative;
    transform: rotate(45deg);
    margin-left: calc(260px - 360px);
    margin-top: -40px;


.container .image_container .image 
    transform: rotate(-45deg);
    margin-top: 10px;
    margin-left: -10px;
<div class="container">
  <div class="image_container">
    <div class="image">
      <img src="https://www.w3schools.com/css/img_fjords.jpg" />
    </div>
  </div>
</div>

【讨论】:

对不起,我打破了左上角,但现在我想你可以剪掉图像的下角了 :)

以上是关于如何用CSS把一个图片放在另一个图片的右(左)下角?形如百度贴吧会员头像上横批!的主要内容,如果未能解决你的问题,请参考以下文章

如何用HTML 、CSS在大图片上放置另一张小图片?拜托了!

如何用CSS往图片上嵌入文字??

如何用CSS让文字左对齐,图片居中

需要背景图片时如何用 CSS 切角?

如何用css使一个用绝对定位的图片定位在网页一个具体位置,不随网页大小等改变位置!

如何用PHOTOSHOP把一矩形等分