按钮位于画布中央

2024-02-20

我有 4 个重叠的画布(充当图层),绝对定位并水平和垂直居中。

在此画布上,我想在画布中心的一列中覆盖四个 HTML/CSS 按钮(用于游戏菜单)。我是 CSS 和 HTML 的新手,我一直无法弄清楚如何让按钮在绝对定位的画布上居中。我怎样才能做到这一点?谢谢。

HTML:

<body>
    <canvas id="canvas0" width=800 height=600></canvas>
    <canvas id="canvas1" width=800 height=600></canvas>
    <canvas id="canvas2" width=800 height=600></canvas>
    <canvas id="canvas3" width=800 height=600></canvas>
</body>

CSS:

#canvas0,  #canvas1, #canvas2, #canvas3 {
    position: absolute;
    border: 2px solid;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: block;
}

#canvas0 {
    z-index: 0;
}

#canvas1 {
    z-index: 1;
}

#canvas2 {
    z-index: 2;
}

#canvas3 {
    z-index: 3;
}

Edit:

这是我想知道如何做的图。无论浏览器如何调整大小,按钮都保持在画布中央。

第二次编辑: 如果我选择水平居中(而不是坚持垂直和水平居中),我可以做得很好。

这篇文章对我帮助很大:相对定位内的绝对定位 http://css-tricks.com/absolute-positioning-inside-relative-positioning/

这是我的最终代码和jsfiddle http://jsfiddle.net/FV2NL/ demo.

<body>
<div id="container">
    <canvas id="canvas0" width=800 height=600></canvas>
    <canvas id="canvas1" width=800 height=600></canvas>
    <canvas id="canvas2" width=800 height=600></canvas>
    <canvas id="canvas3" width=800 height=600></canvas>
        <div id="menu">
            <button id="button1" type="button">Start</button>
            <button id="button2" type="button">Options</button>
            <button id="button3" type="button">High Scores</button>
        </div>
</div>
</body>

CSS:

#container {
    width: 800px;
    height: 600px;
    margin: 0 auto;
    position: relative;
}

canvas {
    position: absolute;
    top: 0;
    left: 0;
}

#cavas0 {z-index: 0;}
#canvas1 {z-index: 1;}
#canvas2 {z-index: 2;}
#canvas3 {z-index: 3;}

#menu {
    position: relative;
    width: 250px;
    height: 200px;
    z-index: 4;
    top: 200px;
    left: 275px;
}

button {
    width: 200px;
    height: 50px;   
    font-size: 20px;
    position: absolute;
    z-index: 5;
}

#button1 {
    left: 25px;
}

#button2 {
    left: 25px;
    top: 75px;
}

#button3 {
    left: 25px;
    top: 150px;
}

也许与此类似。

这里有一个jsfiddle http://jsfiddle.net/mg4JE/进行演示

附加这个CSS

.buttonContainer{
    position: absolute;
    top: 40%;
    left:45%;
    width:80px;
}
.class='but' {
    float:left;
}

HTML

<body>
    <canvas id="canvas0" width=800 height=600></canvas>
    <canvas id="canvas1" width=800 height=600></canvas>
    <canvas id="canvas2" width=800 height=600></canvas>
    <canvas id="canvas3" width=800 height=600></canvas>
    <div class='buttonContainer'>
        <input class='but' id='but1' type='button' value='Button 1'>
        <input class='but' id='but2' type='button' value='Button 2'>
        <input class='but' id='but3' type='button' value='Button 3'>
        <input class='but' id='but4' type='button' value='Button 4'>
    </div>
</body>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按钮位于画布中央 的相关文章

随机推荐

  • AppDomains 与强大的服务器

    经过一些研究后 AppDomains 似乎并不是真正构建托管服务器的工具 根据我的理解 如果创建的AppDomain中存在未处理的异常 如果从创建的AppDomain中的线程抛出异常 托管服务器仍然会崩溃 因此 在这种情况下 如果托管服务器
  • Pandas:将列与数据帧的所有其他列进行比较

    我有一个场景 我有新的受试者正在测试一系列特征 其中结果都是字符串分类值 测试完成后 我需要将新数据集与所有受试者的主数据集进行比较 并寻找给定阈值 例如 90 的相似性 匹配 因此 我需要能够以尽可能最佳的性能对新数据集中的每个新主题与主
  • 使用 Google 日历 API 发送邀请

    我有一个 Java Spring API 我想在其中集成 Google 日历 任务 基本上为两名与会者 用户 创建一个活动并向他们发送邀请 并可选择接受 拒绝 标准 GCalendar 邀请 我在这里尝试了这个例子 https develo
  • 当 super() 被调用时,元类如何与 MRO 列表一起工作?

    我对以下代码示例感到非常困惑 class Meta 1 type def call cls a kw line 1 print entering Meta 1 call print cls line 4 print cls mro line
  • RESTful Web 服务、Spring-WS 有效负载或 Spring 3 MVC REST 控制器采用哪种方式?

    我是初学者Spring Webservices 我正在尝试使用创建合同优先的网络服务spring ws 2 0 我已经做好了web xml MessageDispatcherServlet 配置 我的合约设计 XSD 生成JAXB类和服务实
  • JavaScript 中的 Math.random 和 Web 编程

    根据这个堆栈溢出线程 https stackoverflow com questions 10361466 what algorithm does math random useJavaScript 中的 Math random 取决于浏览
  • 如何使用 VBA 在 IE11 中自动弹出“另存为”对话框?

    我正在尝试下载一些有关碳排放的数据 我可以通过 URL 预加载包含相关设置的页面 它加载正常 我可以通过其 ID 单击确定按钮 然后在底部看到 IE11 打开 保存 取消对话框 我已经尝试了使用 FindWindows 32770 的所有建
  • CKAN 安装:粘贴错误

    在 OSX 10 9 上本地安装 CKAN 基于http docs ckan org en latest maintaining installing install from source html http docs ckan org
  • HttpClientHandler / HttpClient 内存泄漏

    我有 10 150 个长期存在的类对象 它们调用使用 HttpClient 执行简单 HTTPS API 调用的方法 PUT 调用示例 using HttpClientHandler handler new HttpClientHandle
  • 如何检测一种类型是否是另一种类型的可见基础?

    If I do struct A struct C private A typedef char yes 1 typedef char no 2 template
  • 如何在Python中比较多个元组列表?

    我如何比较像这样的多个元组列表 1 2 3 6 5 3 1 5 3 5 2 1 1 8 3 9 输出应该是 1 2 1 5 1 8 3 6 3 5 3 9 这意味着我只想要那些值x axis价值与他人相匹配 5 3 和 2 1 应该被丢弃
  • 我向我的项目添加了一个新类,并收到一条错误消息“Program.Main() 有多个条目”。为什么?

    问题是 在我添加新类后 当我构建解决方案时出现了错误 有什么问题吗 在 Form1 中 我还没有任何代码 我刚刚添加了一个新课程 using System using System Collections Generic using Sys
  • React-native 解码的 Base64 编码字符串

    我尝试在 React Native 中解码 Base64 编码的字符串标记 atob 不起作用 并且像 js base64 这样的库无法解决问题 有人有解决办法吗 我发现一些简单的方法对我有用 与节点相同的 api 安装缓冲器 yarn a
  • 从 Azure Blob 存储读取文件

    我想从 azure 存储中读取 PDF 文件字节 因为我有一个文件路径 https hostedPath pdf 1001 12 Jun 2012 18 39 05 594 pdf 那么是否可以通过直接传递路径名来从 blob 存储中读取内
  • DDD是否适合所有类型的应用?

    对于这里和其他论坛提出的很多问题 我看到的一个常见反应是 您不需要为此执行 DDD 它是一个简单的 CRUD 应用程序 DDD 是一种过度设计 嗯 我是 DDD 的新手 我觉得 DDD 中有很多元素具有普遍吸引力并且可以全面使用 无论您的应
  • Powershell 中的本机 .tar 提取

    我有一个 tar gz我需要提取的文件 我已经处理了gunzip位GzipStream对象来自System IO Compression 但我找不到任何用于处理该命名空间中的 tarball 的内容 有没有办法处理 tarPowershel
  • logrotate 日期格式似乎不支持 %H:%M:%S

    我是 logrotate 的新手 当配置到 dateformat 属性时 logrotate 似乎不支持 strftime H 这是配置 daily rotate 2 size 3M missingok notifempty dateext
  • 在 Prolog 中交换列表的连续项

    我正在尝试编写可以交换列表中两个元素的 Prolog 代码 但前提是它们是彼此连续 那是 conseq swap d e a g d e f X 应该给出 X a g e d f d 和 e 是连续的 However conseq swap
  • 在单个事务中发送多个 SQL 命令

    我有一个巨大的清单INSERT INTO 字符串 目前我运行它们 using SqlConnection connection new SqlConnection connectionString connection Open forea
  • 按钮位于画布中央

    我有 4 个重叠的画布 充当图层 绝对定位并水平和垂直居中 在此画布上 我想在画布中心的一列中覆盖四个 HTML CSS 按钮 用于游戏菜单 我是 CSS 和 HTML 的新手 我一直无法弄清楚如何让按钮在绝对定位的画布上居中 我怎样才能做