- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
目前对于评论,我使用由带有背景类的 css 显示的星级。
但我想用 Font Awesome 替换它,因为字体在高分辨率屏幕上更清晰。
唯一的问题是评级是由宽度类动态定义的,以 % 为单位。
我无法将代码更改为定义宽度的不同 div 类。
例如,使用类 width="80%;"
最高得分为 5 星。
它应该是这样的:
如何用 Font Awesome 星星替换它?
另请参阅此 JSFiddle:https://jsfiddle.net/tLj2ybnu/8/
最佳答案
这个答案包括两个解决方案。第一个是纯 CSS。您只需设置一个类来指示从 0 到 10 的分数。第二个代码段更简单并且更灵活;它允许您在标签本身中设置一个百分比。
在这两个示例中,我都使用了 Wingdings 字体中的星星,但您可以使用其他字体和字符,甚至是背景图像。这两种情况的解决方案都是使用灰色的星星背景和剪裁到正确宽度的金色叠加层。
1:预定义类以指示从 0 到 10 的值
我认为只需一点 CSS,您就可以轻松做到这一点。您可以使用特殊字体,但也许 Wingdings 也是一种选择。它包含几个您可以使用的星星。
下面的代码片段表明您可以只使用一个元素来完成此操作。添加类(class) score
, 和其中一类 s0
至 s10
表示从 0 到 10 的分数。当然,而不是使用 ::before
和 ::after
伪元素,您可以添加嵌套跨度并在 style 属性中为黄色元素提供 80% 的宽度,但在我的示例中,分数元素与其显示方式更加分离,我认为这是一种更好的方法。
CSS 相当冗长,但使用像 SCSS 这样的预处理器,您可能可以以更紧凑的方式编写它。
我会选择一到十,因为您表示您也想要半星(这很常见)。通过使用到 10 的比例,您可以使用整数值,这从程序员的 Angular 来看更直观。您只有一个整数分数,然后由 CSS 将其转换为半星。
当然,您可以使用任何字体的任何符号来做到这一点。
.score {
display: inline-block;
font-family: Wingdings;
font-size: 30px;
color: #ccc;
position: relative;
}
.score::before,
.score::after {
content: "\2605\2605\2605\2605\2605";
display: block;
}
.score::after {
color: gold;
position: absolute;
top: 0;
left: 0;
overflow: hidden;
}
.score.s0::after {
width: 0%;
}
.score.s1::after {
width: 10%;
}
.score.s2::after {
width: 20%;
}
.score.s3::after {
width: 30%;
}
.score.s4::after {
width: 40%;
}
.score.s5::after {
width: 50%;
}
.score.s6::after {
width: 60%;
}
.score.s7::after {
width: 70%;
}
.score.s8::after {
width: 80%;
}
.score.s9::after {
width: 90%;
}
.score.s10::after {
width: 100%;
}
The score is: <span class="score s7"></span>
2:直接在标签中设置百分比
如果你想在HTML中专门设置宽度,你不能使用::before
和 ::after
.你需要一个实际的元素。实际上,它使 CSS 更容易一些,因为您不需要预定义宽度。 HTML 也不是很复杂。分数的跨度获得一个仅设置了宽度的匿名子元素。您可以指定 0 到 100% 之间的任何宽度。
外部元素(带有类)用作容器,并生成灰色星星。内部元素生成覆盖在灰色星星上的黄色星星。
.score {
display: inline-block;
font-family: Wingdings;
font-size: 30px;
color: #ccc;
position: relative;
}
.score::before,
.score span::before{
content: "\2605\2605\2605\2605\2605";
display: block;
}
.score span {
color: gold;
position: absolute;
top: 0;
left: 0;
overflow: hidden;
}
The score is: <span class="score"><span style="width: 88%"></span></span>
关于html - 使用由宽度定义的 Font Awesome 星级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30765441/
我一直在用awesome在 ubuntu 14.04 上一段时间。 rc.lua 中定义的默认布局是: layouts = { awful.layout.suit.floating,
Font Awesome 4.0是对 Font Awesome 从头开始的完全重写。主要的新功能之一是图标现在具有命名空间。除了命名空间之外,图标还使用基于一致性和可预测性的新命名约定。不幸的是,
我有一个带有Bootsrap 4(SASS)和Font Awesome 5的MVC项目。我正在尝试使旋转的图标可以与Ajax加载面板一起使用,但是它不起作用。 Test Spin
似乎 font-awesome 支持自定义图标,并附有详细说明如何创建和提交您自己的图标,但该信息在他们的网站上不再可用。这是否意味着不再支持此功能并且您只能请求由 font-awesome 团队完成
我正在寻找一种让应用程序使用自己的全屏模式但不调整自己的窗口大小的方法。 例如,我想在全屏模式下在网络浏览器上观看视频,以隐藏除视频之外的浏览器/网站的所有其他栏/内容,但我想保留我的显示布局以同时查
如何设置行中显示的图标之间的间距?这是我的代码: 这些图标暂时太靠近了。 最佳答案 只需像其他任何操作一样设置边距即可。纯CSS。 关于font-awesome - Font A
当使用出色的 Font Awesome 时,如何使图标不透明 - 例如,如果我想使用 http://fortawesome.github.io/Font-Awesome/icon/chevron-ci
我正在尝试在 http://fortawesome.github.io/Font-Awesome/examples/ 更改 fontawesome 星级评分中前两颗星的颜色 我已经为第一个和第二个跨度
你好, 我正在努力将 Font Awesome 添加到我的网站。 在 Font Awesome github 页面上,它简单地说: “安装 FontAwesome.otf 并访问复制和粘贴页面。快乐设
我们正在使用和添加/删除某些 js 事件的 fa-spin。在 3x 下很容易看到的问题是齿轮不围绕固定轴旋转。我怀疑这是因为图标本身 (SVG) 被 Chrome 报告为 42 x 49 像素,即使
你好, 尝试使用 Lighthouse 解决 Font Awesome 图标/元素的可识别名称的审计点我不知道如何回答这个挑战:如何使 Font Awesome 元素具有可识别的名称? actual
我正在尝试自定义我的 Ubuntu 在我的两台电脑上使用 i3-wm , 多边形和 zsh (带有 oh-my-zsh 在其上) 我在我的一台计算机上遇到了一些问题,我在另一台上没有,尽管以相同的方式
如何配置真棒,所以它会启动新的应用程序,两个窗口对齐,如下所示: ---------------- |xxxxxxxxxx####| |xxxxxxxxxx####| |xxxxxxxxxx####|
我已阅读 Setting windows layout for a specific application in awesome-wm .现在我想在自动启动期间在特定标签下执行此操作。 例如: I
减小 Font Awesome 图标大小的最佳方法是什么。有一个 fa-3x 等等……来增加尺寸。有没有减少尺寸的类(class)? 最佳答案 Font-Awesome 图标,顾名思义,是基于字体的。
我会使用 Font Awesome 中的几个图标。 我发现我们可以下载整个 font-awesome 目录并使用简单的代码,如 并使用fa-camera-retro显示图标。 我可以只下载我将使用的字
在 font Awesome 4 中,您可以使用 CSS 轻松地将图标应用到 :before/:after 元素。 新的 font Awesome 5 JS/SVG 实现是否可以实现同样的效果?据我所
我刚开始在 Awesome 中为 rc.lua 做自定义 lua,我在想出如何根据鼠标位置启动某些东西时遇到了一些麻烦。到目前为止,这就是我所拥有的,但它没有做任何事情。 -- Open todo w
我正在运行我的 NodeJS 服务器并在 localhost:3000 上测试它。一切正常,但字体超棒的图标显示时好像字体文件丢失了。它在 Firefox 和 Chrome 中做同样的事情。 (我什至
我使用了 codeigniter 和 Font Awesome 5 我已经下载了 font awesome 5 的最新版本,但由于某种原因我的图标没有显示出来 Question How to get
我是一名优秀的程序员,十分优秀!