CSS如何正确地用按钮背景替换链接

发布于 2024-12-17 11:36:23 字数 720 浏览 0 评论 0原文

我正在尝试用按钮背景替换应用程序上的链接。但是,链接文本不会水平或垂直居中。我正在使用属性“背景位置:中心中心;”我认为这会解决我的问题。

我的 HTML:

<a class="violetButtonLarge" href="#">My Link</a>

CSS:

.violetButtonLarge {
    display: block; 
    width: 304px; 
    height: 41px;
    background: url(../images/violetButton_large.png) no-repeat center center;
    border:none;
    color: #FFFFFF;
    font-weight: bold;
    font-family: Arial;
    background-color: transparent;
    text-decoration: none;
}

我的图像:

在此处输入图像描述

我在这里做错了什么?这就是我得到的:

在此处输入图像描述

提前致谢!

I'm trying to replace the links on my app with a button background. However the link text won't center horizontally neither vertically. I'm using the property "background-position: center center;" which I assume would solve my problem.

My HTML:

<a class="violetButtonLarge" href="#">My Link</a>

CSS:

.violetButtonLarge {
    display: block; 
    width: 304px; 
    height: 41px;
    background: url(../images/violetButton_large.png) no-repeat center center;
    border:none;
    color: #FFFFFF;
    font-weight: bold;
    font-family: Arial;
    background-color: transparent;
    text-decoration: none;
}

My image:

enter image description here

What I'm I doing wrong here? This is what I get:

enter image description here

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦年海沫深 2024-12-24 11:36:23

使用 text-align:centerline-height:41px 将文本垂直和水平居中对齐。

.violetButtonLarge {
    display: block; 
    width: 304px; 
    height: 41px;
    background: url(https://i.sstatic.net/S8zvb.png) no-repeat center center;
    border:none;
    color: #FFFFFF;
    font-weight: bold;
    font-family: Arial;
    background-color: transparent;
    text-decoration: none;
    text-align:center;
    line-height:41px;
}

示例:http://tinkerbin.com/q5VZR1At

Use text-align:center and line-height:41px to align the text in the vertical and horizontal center.

.violetButtonLarge {
    display: block; 
    width: 304px; 
    height: 41px;
    background: url(https://i.sstatic.net/S8zvb.png) no-repeat center center;
    border:none;
    color: #FFFFFF;
    font-weight: bold;
    font-family: Arial;
    background-color: transparent;
    text-decoration: none;
    text-align:center;
    line-height:41px;
}

Example: http://tinkerbin.com/q5VZR1At

紫南 2024-12-24 11:36:23
a.button {
    background: transparent url('violetButton_large.png') no-repeat scroll top right;
    color: #FFFFFF;
    display: block;
    float: left;
    font: normal 12px arial, sans-serif;
    height: 24px;
    margin-right: 6px;
    padding-right: 18px; 
    text-decoration: none;
}
<a class="button" href="#" onclick="this.blur();"> … </a> 
a.button {
    background: transparent url('violetButton_large.png') no-repeat scroll top right;
    color: #FFFFFF;
    display: block;
    float: left;
    font: normal 12px arial, sans-serif;
    height: 24px;
    margin-right: 6px;
    padding-right: 18px; 
    text-decoration: none;
}
<a class="button" href="#" onclick="this.blur();"> … </a> 
残花月 2024-12-24 11:36:23

可能你应该设置填充,然后你不需要设置宽度和高度。 vertical-align:baseline 有助于将它们设置在与“真实”输入按钮相同的行上。

.button {
  padding: .4em 1.6em .44em 1.6em;
  vertical-align: baseline;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

编辑:抱歉,我没有在您的代码中看到该图像,也许您应该看一下这个很棒的示例: CSS 渐变按钮

Probably you should set the padding, then you don't need to set the width and height. The vertical-align: baseline helps to set them on the same line with "real" input buttons.

.button {
  padding: .4em 1.6em .44em 1.6em;
  vertical-align: baseline;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

Edit: Sorry i didn't saw the image in your code, maybe you should get a glimpse at this great example: CSS Gradient Buttons.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文