javascript - CSS 缩放 Div 居中

标签 javascript jquery html css

我有一个关于 <div id='divTwo'> 的问题在另一个里面 <div id='divOne'> .这很正常,很容易做到,但是在这种情况下,我有 transform: scale();transform-origin: 50% 50% 0px;应用于“divTwo”

#divOne {
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

#divTwo {
    width: 1024px;
    height: 768px;
    margin: auto;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    border-left: 131px solid #333333;
    border-right: 131px solid #333333;
    border-top: 47.5px solid #333333;
    border-bottom: 47.5px solid #333333;
    border-radius: 55px;
}

如果应用于变换的比例和窗口大于 outerWidth(),则“divTwo”居中没有问题。但是,当“divTwo”被缩放并且窗口小于或等于 outerWidth() 时。 div 将不再居中,而是将其中心点放置在浏览器的右侧,如果“divTwo”的一半不在浏览器的右侧,则会导致这种情况。改变 transform-origin: 50% 50% 0px;transform-origin: 0% 50% 0px;只要您不垂直缩放就可以工作,反之亦然。

jsfiddle 示例:https://jsfiddle.net/yvyz49zp/

谢谢。我觉得缺少一些明显的东西。

最佳答案

我在 jsfiddle 中相对快速地完成了这个 - 不需要 javascript。只是玩弄值(value)观,直到你得到你喜欢的东西。

代码:

body {
    background: lightblue;
}

#container {
    display: inline-block;
    position: absolute;
    width: 50%;
    right: 50%;
    top: 50%;
    transform: translate(50%, -50%);
}
#dummy {   
    margin-top: 75%; /* Using the dummy is the trick - it locks the aspect ratio (at 4:3 in this case) */
}
#device {
    position: absolute;
    top: 10%;
    bottom: 10%;
    left: 0;
    right: 0;
    background-color: #333;
    border-radius: 10%;
}

#screen {
    position: absolute;
    width: 70%;
    height: 80%;
    background: #0f0;    
    right: 50%;
    top: 50%;
    transform: translate(50%, -50%);
}
<div id="container">
    <div id="dummy"></div>
    <div id="device">
        <div id="screen"></div>
    </div>
</div>

关于javascript - CSS 缩放 Div 居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32357147/

相关文章:

javascript - Bootstrap 双日期选择器值解析

javascript - 如何将文件从 HTML5 拖放到 Rails 3 应用程序和回形针?

javascript - 重置时区感知时间戳 momentjs

javascript - HTML - 在 Bootstrap 面板上显示/隐藏按钮折叠/展开

javascript - 将 HTML 元素翻译成 Jquery 但看不到它们

Javascript Ajax 调用始终返回readyState=1 和status=0

javascript - WebkitSpeechRecognition 随机停止录音

每次字段更改时javascript验证表单

jquery - 将文本放在图像上,然后使用 ajax/jquery 更改图像上的文本

javascript - 单滚动移动到下一部分的完整页面 View