在另一个 div 内水平和垂直居中 div

2023-11-29

我有一个关于将元素在另一个 div 内水平和垂直居中的问题。

我正在为客户开发一个网站,这是给我带来麻烦的页面:http://staging.slackrmedia.com/halfpast/brand_collection_bremont.html

因此,当您将鼠标悬停在图像上时,您会看到一个显示“查看集合”的链接。我使用 CSS3 过渡和不透明度来设计它,但我遇到了一个问题:我需要这个“View Collection”链接在它所在的 div 内部水平和垂直居中。

这是带有我的代码的 jsFiddle 的链接:http://jsfiddle.net/T2n5b/4/

HTML

<h2>Bremont Collections</h2>

<div class="row text-center uppercase">
    <div class="col-1-3">
        <img src="http://staging.slackrmedia.com/halfpast/images/watches/alt1-p.png" alt="ALT1-P Pilot" />  <a href="" class="btn small">View Collection</a>
        <a href="">ALT1-P Pilot</a>
    </div><!-- .col-1-3 -->

    <div class="col-1-3">
        <img src="http://staging.slackrmedia.com/halfpast/images/watches/solo-37.png" alt="Supermarine" />  <a href="" class="btn small">View Collection</a>
    <a href="">Solo-37</a>

    </div><!-- .col-1-3 -->

    <div class="col-1-3">
        <img src="http://staging.slackrmedia.com/halfpast/images/watches/bc-f1.png" alt="BC-F1" />  <a href="" class="btn small">View Collection</a>
        <a href="">BC-F1</a>
    </div><!-- .col-1-3 -->
</div><!-- .row -->

CSS

/* Buttons
   ============================= */
 .btn {
    background: #c60202;
    border-bottom: 1 px solid rgba(0, 0, 0, 0.1);
    border: 0;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1em;
    height: 45px;
    line-height: 2.9;
    margin: 0px;
    padding: 0 40px;
    position: relative;
    text-align: center;
    text-decoration: none;
    vertical-align: bottom;
    width: auto;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .2s ease;
    -moz-transition: all .2s ease;
    -ms-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease;
}
.btn:hover {
    background: #d31d1c;
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgba(0, 0, 0, 0.05)), to(rgba(0, 0, 0, 0.05)));
    background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05));
    background-repeat: repeat-x;
}
.btn.small {
    font-size: 0.9em;
    line-height: 2.4;
    height: 35px;
    padding: 0 15px;
}
a.btn {
    color: #fff;
    text-decoration: none;
}
/*
 * Type Styles
 */
 .text-center {
    text-align: center;
}
.uppercase {
    text-transform: uppercase;
}
/* Grid
   ============================= */
 *, *:after, *:before {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
.row {
    margin-left: -20px;
}
.row:after {
    clear: both;
    content:"";
    display: table;
}
/*
 * Grid Gutters
 */
[class*='col-'] {
    float: left;
    padding-left: 20px;
}
.row-pad {
    padding: 20px 0 20px 20px;
}
.row-pad[class*='col-']:last-of-type {
    padding-right: 20px;
}
/* 
 * Grid Columns
 */
 .col-1-3 {
    width: 300px;
}
/*
 * Button Hover
 */
 .row .col-1-3 img {
    display: block;
    width: 163px;
    height: 276px;
    margin: 0 auto 10px;
}
.row .col-1-3 a.btn.small {
    font-size: 0.75em;
    margin: -165px 0 0 -80px;
    opacity: 0;
    position: absolute;
}
.row .col-1-3 a.btn.small:hover {
    opacity: 1;
}

任何使用 HTML、CSS 或 jQuery 的解决方案都可以。我认为我当前使用的 HTML 和 CSS 可能存在一个小问题,但我就是无法弄清楚。


将宽度和高度添加到.btn,然后添加position:absolute;左:50%;顶部:50%;最后一个 - 边距:-50% .btn-height 0 0 -50% .btn-width

类似的东西

.btn.small {
    width:140px;
    height:36px;
    margin:-18px 0 0 -70px;
    position:absolute;
    left:50%;
    top:50%;
}

还有一个小建议: 在这种情况下,最好使用 .col-1-3:hover .btn 而不是 .btn:hover

或者将 img 和 .btn 包裹在另一个 div 中,例如 .img-box,并设置规则 .img-box:hover .btn

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在另一个 div 内水平和垂直居中 div 的相关文章

随机推荐

  • 使用菱形运算符创建通用数组

    今天 我遇到了 Java 7 泛型数组创建的奇怪情况 看看下面两条语句 Map
  • 使用 iOS 共享/操作扩展截取主机应用程序的屏幕截图?

    我想知道如何使用共享 操作扩展来截取 iOS 主机应用程序的屏幕截图 我的用例如下 使用Safari浏览器访问网页 https如gmail 点击共享按钮并选择扩展程序 该扩展程序将截取当前网页的屏幕截图 此用例的一个工作示例是很棒的 iOS
  • Invoke-Command:找不到接受参数的位置参数

    我在 powershell 中使用以下脚本遇到上述问题 我似乎找不到问题所在 该脚本需要 2 个参数 我已在命令行上提供了它们 但它仍然抛出错误 Command PS C gt powershell exe ExecutionPolicy
  • 用于显示Excel数据的Java库[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 在我们的 Java 应用程
  • 目前只有一种产品添加到 Woocommerce 购物车中?

    我希望 Woocommerce 只允许购物车中添加 1 个产品 如果购物车中已存在一种产品 并且添加了另一种产品 则应删除前一种产品 我在网上找到了这段代码 When an item is added to the cart remove
  • 无法在单个产品页面上删除 WooCommerce 产品标题

    我无法删除单个页面上 WooCommerce 产品的默认标题 标题没有任何标签供我通过 css 隐藏它 我也尝试过使用 remove action woocommerce single product summary woocommerce
  • jQuery - 获取选择列表中选项的像素宽度?

    通过以下内容 我可以获得选择输入的宽度 以像素为单位 是否可以获取选择列表中选项的宽度 谢谢 mySelect width 更新 这就是我想要这个的原因 我需要将文本放在选择列表中居中 我无法使用 css text align center
  • 如何使用 masm 中的库或更具体地说是 .lib 文件?

    我已经使用 Visual Studio 2010 制作了一个 lib 文件 现在我想在 masm 中使用它 我怎样才能做到这一点 需要帮忙 我试图在互联网上查看它 但找不到有关如何执行此操作的任何准确答案 这是我使用 Visual C 20
  • 为什么 Laravel API 在 POST 和 PUT 方法上返回 419 状态代码?

    我正在尝试使用 Laravel 创建 RESTful API 我已经使用创建了我的控制器php artisan make 控制器 RestController这是我的控制器代码
  • xcode7 调试器发生了什么变化,我无法再使用“po”/Swift 查看变量

    好吧 xCode7 Swift 发生了什么变化 我不能再使用 poframe 来查看 CGRect 的内容了 打印语句在代码中运行得很好 为什么我不能像以前那样在调试器控制台中查看它 var frame self myLabel frame
  • MFT 编码器 (h264) CPU 利用率高

    我能够使用 Media Foundation Transform MFT 成功地通过 H264 对数据进行编码 但不幸的是我的 CPU 非常高 当我在程序中评论该函数的调用时 我的 CPU 很低 只需执行几个步骤即可获得编码 所以我无能为力
  • 优化 PostgreSQL 中的查询

    SELECT count FROM contacts lists JOIN plain contacts ON contacts lists contact id plain contacts contact id JOIN contact
  • Spring MVC 3.1 REST服务post方法返回415

    我正在做一个 Spring MVC 控制器 但 POST 操作仍然遇到问题 我在 stackoverflow 上阅读了许多解决方案 但没有解决我的问题 我目前的成就 我发送了带有 Id 的 GET 请求 并成功返回了转换为 JSON 的对象
  • 为什么 document.write() 之后的代码没有执行?

    我有以下 JavaScript
  • 通过 Android 应用程序连接到 OracleDB

    感谢您的浏览 希望您能帮助我 目前 我想通过我的 Android 应用程序从 OracleDB 服务器 在 LAN 上 获取一些数据 我将 JDBC 与 ojdbc14 jar 以及 Android 应用程序中的以下代码以及 logcat
  • CSS 向左下方浮动

    我有很多高度可变的 div 我需要这些 div 彼此排序 但是当它们到达窗口末尾时 gt 创建新的 列 现在 div 溢出了 但我需要创建新的 列 BTW 我有使用以下解决方案 webkit column gap 16px webkit c
  • 如何使用包编译和运行java类

    我在文件 MyClass java 文件中有一个名为 MyClass 的类 代码如下 package myclass class MyClass public int add int a int b return a b public st
  • 用选项卡主机滑动

    我有一个 TabHost 控件 不在操作栏中 并且我想让选项卡在用户滑动每个选项卡上的上下文 类似于 Whatsapp 表情符号选项卡 时进行更改 我怎样才能做到这一点 EDIT手感也很重要 我希望上下文应该有滚动动画 无论用户是否滑动或单
  • Facebook Graph Api url 评论和分享计数不再起作用

    我在我的博客中使用 facebook 评论插件 到目前为止 facebook graph api 帮助我检索我网站上每个帖子的评论计数 因此 正如我所说 我一个月前写的帖子 我可以使用 php 和 json decode 检索评论计数 如下
  • 在另一个 div 内水平和垂直居中 div

    我有一个关于将元素在另一个 div 内水平和垂直居中的问题 我正在为客户开发一个网站 这是给我带来麻烦的页面 http staging slackrmedia com halfpast brand collection bremont ht