使用三 (3) 个背景图像 css 的按钮

2024-04-01

我正在尝试使用三个背景图像制作一个按钮,以便我们可以提取按钮文本的翻译并很好地扩展。我们可能会为 IE8 添加一个基本样式,但我们的设计师希望我们使用这种样式,而我们无法使用纯 CSS3 很好地重新创建它。

Here are the images:
Button front end Tiny middle piece to repeat Button rounded end piece

这是 HTML(只是一个简单的按钮,但我想我应该把它放在上面:

<button class="back clickable" aria-label="Back" onclick="javascript:history.back();">Back</button>

我已经尝试过一些事情;我将粘贴这两次尝试的 CSS。

尝试 1:使用伪选择器
http://jsfiddle.net/c2B6X/ http://jsfiddle.net/c2B6X/

.back {
    background: url("images/back-middle.png") 14px 0 repeat-x;
    color: $white;
    height: 28px;
    padding: 5px;
    &:before {
        background: url("images/back-front.png") 0 0 no-repeat;
        width: 14px;
    }
    &:after {
        background: url("images/back-end.png") 100% 0 no-repeat;
        width: 8px;
    }
}

尝试 2:三background-images
http://jsfiddle.net/nPUQN/ http://jsfiddle.net/nPUQN/

.back {
    background: none;
    background-image: url("images/back-middle.png"), url("images/back-end.png"), url("images/back-front.png");
    background-position: 14px 0, 100% 0, 0 0;
    background-repeat: repeat-x, no-repeat, no-repeat;
    border-right: 8px transparent;
    border-left: 14px transparent;
    color: $white;
    height: 28px;
    padding: 5px;

}

如果它看起来像非典型 CSS,那是因为我们使用的是 SASS。

有什么明显的我遗漏或做错的事情吗?任何有关如何开展这项工作的建议将不胜感激。

EDIT
由于我得到了很多“有效”的答案,因此我将标记在 Chrome、FF 和 IE9 中最有效的正确答案。

EDIT 2
我已经尝试了所有答案,但在 IE9 中都不起作用。我们必须支持 IE9(和 IE8,但我现在不会去那里)。我要开始赏金了。任何能够提供适用于 IE9、Firefox 和 Chrome 的答案的人都会得到它。


伪内容需要content http://www.w3.org/wiki/CSS/Properties/content,所以您首先需要指定:

.selector::before {
  content: ' ';
}

然后,要定义任何布局(例如宽度和高度),您需要将伪元素显示为block or inline-block。块布局将强制每个伪元素换行并inline-block将坐在线上,因此您必须使用浮动或绝对定位。

.selector {
  position: relative;
  height: 28px;

  /* allow for the pseudo-elements which do not have layout due to absolute positioning */
  margin: 0 15px;
}
.selector::before,
.selector::after {
  content: ' ';
  position: absolute;
  top: 0;
  width: 15px;
  height: 28px;
}
.selector::before {
  left: -15px;
}
.selector::after {
  right: -15px;
}

这里为您演示:http://codepen.io/anon/pen/yaJGI http://codepen.io/anon/pen/yaJGI

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

使用三 (3) 个背景图像 css 的按钮 的相关文章

  • 如果在 中执行 document.write,为什么 DHTML 行为在 IE8 中不起作用?

    我们有一个 3rd 方 Web 应用程序 可以在 IE6 中运行 但不能在 IE8 中运行 示例代码如下 在IE6中会弹出 message from htc 消息 但在IE8中不会弹出 测试 html
  • 如何删除flexbox中所有换行行的左右边距(没有nth-child或js)

    我正在寻找一种好方法来删除每行中每个第一个和最后一个项目的左右边距 而不使用 nth child 或 JavaScript 如果这是不可能的 那么我想下一个最好的方法是在主弹性盒元素上设置负左 右边距 但我不太确定使用弹性盒来做到这一点的最
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • iOS 解决方法:在没有 CSS 属性的情况下平滑滚动 滚动行为:平滑?

    编辑 我找到了一个 jQuery 解决方案 https codepen io chriscoyier pen dpBMVP https codepen io chriscoyier pen dpBMVP这个确实可以在 iOS 上运行 我想
  • 如何仅在 css/html 中强制在单词之间换行?

    我只有一段普通的文本 p 标签内的 p div 标签 但只有 Firefox 可以正确显示 Firefox 打破了单词之间的界限 所有其他浏览器都会在单词中间断行 这使得阅读变得困难 这是我的意思的一个例子 火狐浏览器 工作中 This w
  • 同页锚链接到部分 id 在 IE8 中不起作用

    我有一个带有导航的单页 HTML5 网站 可以将用户引导至该部分 在除 IE8 之外的所有浏览器中都可以正常工作 IE8 不执行任何操作 我所拥有的虚拟版本 a href about About a a href work Work a a
  • Firefox Placeholder Before CSS 选择器不起作用

    我使用的是最新的firefox 30 0 我正在尝试在必填字段的占位符之前插入红色字体真棒星号 我在 Chrome 中工作没问题 但我在 FF 和 上遇到问题 这是一个说明我的问题的代码笔 http codepen io anon pen
  • 扩展位置绝对div超出溢出隐藏div

    我已经好几个月没有做过CSS了 所以我可能会错过一些简单的东西 但无论解决方案是什么 我都无法弄清楚 所以问题就在这里 这是我的代码的简化版本 div style height 100 width 200px div style margi
  • 如何在CSS中制作一个带有边框的可调整大小的心形

    我想要制作一个心形 用户可以将其大小调整为任意宽度和高度 并且边框为 1 像素 我尝试了用纯 CSS 制作的心形 https stackoverflow com a 17386187 1404447 https stackoverflow
  • html css 下拉菜单

    这是我第一次在 Stack Overflow 上发帖 我不熟悉论坛发帖规定 所以请让我知道我做错了什么 我在论坛中研究过这个问题 但我所遇到的一切都没有给我明确的答案 我试图从 新闻 元素创建一个下拉菜单 但在运行代码时我从未得到任何可见的
  • 当百分比填充定义元素高度时忽略 max-height

    The max height当内部填充大于最大高度值时 属性值似乎被忽略 例如 在元素上设置此类会导致最大高度被忽略 max height ignored height 0 or auto makes no difference max h
  • 如何使用 vanilla JS 实现可维护的反应式 UI

    今天我遇到了一个问题 可以通过使用像 Vue 这样的反应式和状态管理框架来轻松解决 遗憾的是 无法使用它 以下 简化 情况 链接到代码笔 https codepen io theiaz pen BazErKV 我们有一个服务器渲染的页面 其
  • 即使在包裹后也具有等宽的弹性项目

    是否可以制作一个像这样的纯 CSS 解决方案 物品有一些min width 它们应该动态增长以填充所有容器宽度 然后换行到新行 列表中的所有项目都应具有相同的宽度 现在看起来是这样的 这就是我希望它看起来像的样子 我已经手动管理这些底部项目
  • @font-face 和 font-variant 是个坏主意吗?

    如果我使用 font face字体和font variant small caps对于相同的选择器 字体将回退到 Safari 中的下一个系统默认字体 我该如何解决这个问题 我一开始在创建一个示例来复制您的问题时遇到了一些麻烦 这让我意识到
  • PIL - 需要抖动,但限制调色板会导致问题

    我是 Python 新手 正在尝试使用 PIL 来执行 Arduino 项目所需的解析任务 这个问题涉及到Image convert 方法以及调色板 抖动等选项 我有一些硬件能够一次仅显示 16 种颜色的图像 但它们可以指定为 RGB 三元
  • Knockout.js 安全绑定

    我想使用带有淘汰赛的安全绑定 为此我使用敲除安全绑定 js https github com brianmhunt knockout secure binding 谁能解释一下为什么下面的代码不起作用 它会抛出一个错误 未捕获 淘汰 安全
  • 如何让div与包含td的高度相匹配?

    我沿着桌子的一排布置了三个 面板 一个比另外两个高 我希望所有三个面板都与最高的一个的高度相匹配 我尝试将 div 的样式设置为 height 100 但是即使包含的 tds 增长 短面板仍然很短 我的 HTML 是由 JSF 生成的 因此
  • HTML 输入 - 名称与 ID [重复]

    这个问题在这里已经有答案了 使用 HTML 时
  • 如何在表格列标题处垂直旋转文本

    我用过这个数据表 http www datatables net 在我的网页上 这是fiddle http jsfiddle net fxju7 2 链接我放置代码的地方 我想要 第一个数字第二个数字列应该垂直旋转 我已经做到了 但是 问题
  • HTML 属性 bgcolor 已弃用:用什么代替?

    VStudio ASP NET 给出以下消息 Attribute bgcolor is considered outdated A newer construct is recommended 推荐的结构是什么 bgcolor是在一个 td

随机推荐

  • 解析 JSON 数据以将其显示在 gridview 中

    我创建了一个应用程序 它将数据从 URL 解析为 JSON 对象并将其显示在GridView 虽然没有显示错误 但每次运行应用程序时都会收到消息不幸的是 应用程序已停止运行 这是我的申请文件 MainActivity java packag
  • 将 HttpResponse 转换为 .apk 文件

    问题是这样的 我与某个 url 建立互联网连接并收到带有 app example apk 的 HttpResponse 然后我想创建一个文件 apk 在带有此数据的 SD 卡中 以便此下载的应用程序 可以稍后安装 如何将 HttpRespo
  • 如何在样式表中使用非标准自定义字体?

    我有一个PyQt4由外部设计的应用程序 qss使用以下代码创建文件 app QtGui QApplication sys argv stylesheet open mystylesheet qss read app setStyleShee
  • 使用 pyspark 使用嵌套结构 ArrayType 展平数据框

    我有一个具有此架构的数据框 root AUTHOR ID integer nullable false NAME string nullable true Books array nullable false element struct
  • Project.json 定义 dnx451 与 .dotnet ( 4.51)

    我有一些 在 asp vnext 中我可以定义 3 种类型的运行时 dnxCore dnx451 dotnet 在 Project json 中 它看起来像这样 frameworks dotnet dnx451 dnxcore50 用户界面
  • 如何使用 Java 创建 TensorProto for TensorFlow?

    现在我们使用tensorflow serving进行推理 它公开了 gRPC 服务 我们可以从 proto 文件生成 Java 类 现在我们可以生成PreditionService from https github com tensorf
  • 如何在 Angular 中包含 JavaScript 脚本文件并从该脚本调用函数?

    我有一个名为的 JavaScript 文件abc js有一个名为 公共 的函数xyz 我想在我的 Angular 项目中调用该函数 我怎么做 参考里面的脚本angular cli json angular json当使用 Angular 6
  • 从列表创建虚拟变量

    因此 我尝试根据框架的特定列是否包含特定单词来创建虚拟变量以附加到数据框架 该列看起来像这样 dumcol c good night moon good night room good morning room hello moon 我将根
  • 如何更改 Xcode 中文本字段的键盘类型

    我在 XCode 中创建了一个文本字段 而不是 Interface Builder 在 IB 中您可以选择不同的键盘类型 如何在 XCode 中做同样的事情 怎么样keyboardType http developer apple com
  • Asp.NET Web API 中的控制器和类列表

    我想访问我的 Web api 中的所有控制器 假设我有 2 个控制器和 2 个类 Foo string fooId string fooName Bar string barId string barName 样本1控制器 Get int
  • 同时使用 JSON 和 XML 格式的 WCF ResponseFormat?

    例如 当使用 REST 请求对象时 是否可以获取 json 和 xml 格式的响应 或者我是否必须创建类似以下内容的 UriTemplates WebInvoke UriTemplate format json user id Respon
  • 使用 CRTP 实现单例

    看完之后这个答案 https stackoverflow com a 4173298 7151494我尝试过实现一些简单的 CRTP 用法 我想我会尝试实现 Singleton 是的 我知道 这只是为了练习和研究 模式 因为链接的答案kin
  • 来自树形形式的自引用表的分层数据

    看起来在所有简单的情况下都已经询问并回答了这个问题 除了我遇到麻烦的情况之外 我尝试使用递归 CTE 来生成它 但也许光标会更好 或者也许一组递归函数可以解决问题 这可以在 cte 中完成吗 考虑下表 PrimaryKey ParentKe
  • 应用程序通过 Open Graph 发送事件邀请时没有通知

    我的代码看起来像这样 FB api eventId invited users selectedFriends join post message body function response if response response er
  • __import__ 与 imp.load_module

    我在尝试使用 IronPython 安装 autopep8 时遇到错误 ImportError No module named logilab 失败的代码片段是 def load module self fullname self reop
  • django应用程序静态文件在生产中不起作用

    即使对于管理页面 静态文件也无法在生产中运行 我没有添加任何静态文件 我的管理页面样式有问题 我按照以下教程创建了 django 应用程序 https tutorial djangogirls org en https tutorial d
  • isset() 或 !empty() 函数作用于视图中的所有变量?

    你好 我正在使用 CakePHP 我想知道你们是否在视图中的所有变量周围放置了 isset 或 empty 或者我应该依赖数据验证 建议的解决方案是什么 我想你应该知道之间的区别isset and empty并使用满足您需求的那个 empt
  • 如何在 Amazon Linux AMI 上设置 cron 作业

    我正在托管 Tiny Tiny RSS 网站 托管于 亚马逊 Linux AMI 要自动更新 feed 我必须运行以下 Cron 作业 参考http tt rss org redmine projects tt rss wiki Updat
  • Rails 循环遍历表单字段中的数据

    我想在表单中循环访问数据库中的数据 我想对数据做的是将其放入标签和文本框中 我怎样才能在 Rails 中做到这一点 我是否可以使用 each 块在表单内循环遍历它 我将其保存在数据库中的原因是因为我的客户希望能够自己添加表单字段数据 例如
  • 使用三 (3) 个背景图像 css 的按钮

    我正在尝试使用三个背景图像制作一个按钮 以便我们可以提取按钮文本的翻译并很好地扩展 我们可能会为 IE8 添加一个基本样式 但我们的设计师希望我们使用这种样式 而我们无法使用纯 CSS3 很好地重新创建它 Here are the imag