以响应的宽度和高度将图像居中放置在另一个图像上

法兰瓦

如何将图像居中放置在另一个图像上?我尝试了很多类似问题的答案,但是没有一个对我有用。

基本上我需要将2张图片变成1张

  1. 它必须是响应性的(因此,当不同屏幕尺寸的设备访问网页时,尺寸会自动更改。)

  2. 当用户调整屏幕大小(或网页窗口大小等)时,心脏和环的位置应保持彼此相同

我正在尝试使用css绘制圆环和心脏,但是如果您确实需要图片替换圆环或心脏,也可以。

这是我的代码,我已经工作了几个小时了,但是还没有好运。http://jsfiddle.net/4u6tfacw/

谢谢你。

这是我的代码

<div id="logo">
    <div id="heart-container">
    </div>
    <div id="heart">
    </div>
</div>

#logo {
    width: 50%;
    height: 50%;
}

#heart {
    display: block;
    position: absolute;
    top: 70px;
    left: 30px;
    z-index: 1;
    width: 70%;
    height: 70%;

}

#heart-container {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    /*bottom:0;
        right:0;*/
    z-index: 1;
    width: 70%;
    height: 70%;
}

#heart-container {
    border-radius: 50%;
    behavior: url(PIE.htc);

    width: 220px;
    height: 220px;
    padding: 8px;

    background: #fff;
    border: 2px solid #666;
    color: #666;
    text-align: center;

    font: 32px Arial, sans-serif;
}

#heart:before,
#heart:after {
    position: absolute;
    content: "";
    left: 90px;
    top: 0;
    width: 90px;
    height: 130px;
    background: red;
    -moz-border-radius: 50px 50px 0 0;
    border-radius: 50px 50px 0 0;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    -o-transform-origin: 0 100%;
    transform-origin: 0 100%;
}

#heart:after {
    left: 0;
    box-shadow: 10px 10px 100px #6d0019;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 100% 100%;
    -moz-transform-origin: 100% 100%;
    -ms-transform-origin: 100% 100%;
    -o-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
}
哈希笔

好吧,这是我要满足这个问题的要求,这不仅是关于将图像/元素放在另一个图像/元素上,而且是关于以响应方式实现这一要求。

关键点

  1. 在底部填充上使用百分比值以使元素的高度尊重其宽度1
  2. 在使用百分比值toprightleftbottom偏移以及widthheight性能2
  3. 例如,使用高像素值border-radius代替百分比1000px
  4. 第四个……好吧,最后一步是反复试验

JSFiddle上的示例

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html, body {
    margin: 0;
    height: 100%;
    width: 100%;
}

#logo {
    width: 50%;
    /* height: 50%; */
    position: relative;
}

#logo:after {
    content: "";
    display: block;
    padding-bottom: 70%;
}

#heart {
    position: absolute;
    top: 26%;
    left: 35%;
    z-index: 1;
    width: 70%;
    height: 100%;
}

#heart-container {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 70%;
    /* height: 70%; */
    border-radius: 50%;
    behavior: url(PIE.htc);
    background: #fff;
    border: 2px solid #666;
    
    color: #666;
    text-align: center;
    font: 32px Arial, sans-serif;
}

#heart-container:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

#heart:before,
#heart:after {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 39.130434782608695652173913043478%;
    height: 56.521739130434782608695652173913%;
    background: red;
    -moz-border-radius: 1000px 1000px 0 0;
    border-radius: 1000px 1000px 0 0;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 0 100%;
    -moz-transform-origin: 0 100%;
    -ms-transform-origin: 0 100%;
    -o-transform-origin: 0 100%;
    transform-origin: 0 100%;
}

#heart:after {
    left: -38.9%;
    box-shadow: 10px 10px 100px #6d0019;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 100% 100%;
    -moz-transform-origin: 100% 100%;
    -ms-transform-origin: 100% 100%;
    -o-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
}
<div id="logo">
    <div id="heart-container"></div>
    <div id="heart"></div>
</div>


1。 查看本主题的“响应式容器”部分

2 要找到确切的值,我们可以按绝对长度定位/调整大小(例如px-),然后仅相对于彼此进行测量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将div居中放置在另一个div中并在图像上

来自分类Dev

如何将一个图像居中放置在另一个图像上

来自分类Dev

如何将图像居中放置在另一个图像中并使其响应移动环境?

来自分类Dev

如何在CSS中将图像居中放置在另一个图像上

来自分类Dev

使用 Bootstrap 4 将图像居中放置在另一个图像之上

来自分类Dev

在Bootstrap中将图像居中放置在另一个图像中

来自分类Dev

HTML CSS-将一个图像放置在另一个图像上

来自分类Dev

CSS将一个图像放置在另一个图像上

来自分类Dev

如何在可动态更改另一个div宽度的div上居中放置文本?

来自分类Dev

将2个项目垂直居中放置在另一个居中的div中

来自分类Dev

如何使用CSS将功能区图像放置在另一个图像上?

来自分类Dev

将div垂直居中放置在另一个div中

来自分类Dev

将绝对定位的元素水平居中放置在另一个元素的中心之下

来自分类Dev

将div垂直居中放置在另一个div中

来自分类Dev

将文字居中放置在另一个文字之上

来自分类Dev

如何将图像和按钮居中到另一个按钮

来自分类Dev

如何在放置在绝对位置的响应图像上垂直和水平居中放置文本?

来自分类Dev

如何在另一个元素和容器的边缘之间居中放置一个元素

来自分类Dev

将两个图像视图放置在另一个图像视图上

来自分类Dev

如何在响应图像上垂直居中放置文本?

来自分类Dev

在(Bootstrap)响应图像上居中放置项目

来自分类Dev

如何在Racket中以递归方式将一个图像的一个以上迭代放置到另一个单个图像上?

来自分类Dev

opencv使用遮罩和绘画将一个图像覆盖在另一个图像上

来自分类Dev

在div中居中放置文本,而忽略同一行上的图像宽度

来自分类Dev

在另一个图像的顶部上放置不透明的图像。-OpenCV

来自分类Dev

使用CSS规则将透明图像放置在另一个图像上的问题

来自分类Dev

如何使图像不可放置在另一个图像上

来自分类Dev

将两个DIV(包括其内容)垂直居中放置在另一个父DIV中

来自分类Dev

C ++将图像放置在特定位置的另一个图像之上

Related 相关文章

  1. 1

    将div居中放置在另一个div中并在图像上

  2. 2

    如何将一个图像居中放置在另一个图像上

  3. 3

    如何将图像居中放置在另一个图像中并使其响应移动环境?

  4. 4

    如何在CSS中将图像居中放置在另一个图像上

  5. 5

    使用 Bootstrap 4 将图像居中放置在另一个图像之上

  6. 6

    在Bootstrap中将图像居中放置在另一个图像中

  7. 7

    HTML CSS-将一个图像放置在另一个图像上

  8. 8

    CSS将一个图像放置在另一个图像上

  9. 9

    如何在可动态更改另一个div宽度的div上居中放置文本?

  10. 10

    将2个项目垂直居中放置在另一个居中的div中

  11. 11

    如何使用CSS将功能区图像放置在另一个图像上?

  12. 12

    将div垂直居中放置在另一个div中

  13. 13

    将绝对定位的元素水平居中放置在另一个元素的中心之下

  14. 14

    将div垂直居中放置在另一个div中

  15. 15

    将文字居中放置在另一个文字之上

  16. 16

    如何将图像和按钮居中到另一个按钮

  17. 17

    如何在放置在绝对位置的响应图像上垂直和水平居中放置文本?

  18. 18

    如何在另一个元素和容器的边缘之间居中放置一个元素

  19. 19

    将两个图像视图放置在另一个图像视图上

  20. 20

    如何在响应图像上垂直居中放置文本?

  21. 21

    在(Bootstrap)响应图像上居中放置项目

  22. 22

    如何在Racket中以递归方式将一个图像的一个以上迭代放置到另一个单个图像上?

  23. 23

    opencv使用遮罩和绘画将一个图像覆盖在另一个图像上

  24. 24

    在div中居中放置文本,而忽略同一行上的图像宽度

  25. 25

    在另一个图像的顶部上放置不透明的图像。-OpenCV

  26. 26

    使用CSS规则将透明图像放置在另一个图像上的问题

  27. 27

    如何使图像不可放置在另一个图像上

  28. 28

    将两个DIV(包括其内容)垂直居中放置在另一个父DIV中

  29. 29

    C ++将图像放置在特定位置的另一个图像之上

热门标签

归档