整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

css实现小数点星级评分

css实现小数点星级评分

近做项目有个类似星级评分的功能,不过是小数点的,刚开始想的是用css的一些高级属性,但是并没有达到想要的效果,最终还是用普通css和js实现了个。

先来个简易版的:

html代码

<div class="box">

<div class="bottom star-wrap">

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

</div>

<div class="mask star-wrap" style="width:95%;">

<!-- 这里需要外加个容器设置足够大的宽度,防止宽度不够,内容往下掉 -->

<div style="width:300px;">

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

</div>

</div>

</div>

css代码

.box {

position: relative;

display: inline-block;

}

.star-wrap span {

float: left;

width: 16px;

height: 16px;

}

.star-wrap span:not(:last-child) {

margin-right: 4px;

}

.bottom span {

background: url(./assets/img/star.png) 0 0 no-repeat;

}

.mask span {

background: url(./assets/img/star_1.png) 0 0 no-repeat;

}

.mask {

position: absolute;

left: 0;

top: 0;

overflow: hidden;

}

其实就是两层叠加,需要注意的是mask里需要增加个容器设置足够大的宽度,防止宽度不够,内容往下掉,效果如下

?


这里发现个问题,95%最后一个star的宽度应该占一半,但是现在只有1/3,这是因为星星之间有5像素的间距,所以还得计算星星所占的实际百分比

计算公式:

首先计算实际星星所占百分比的宽度:6 * 10 * 95%

计算间距宽度:Math.floor(196(总距离) * 95% / (16(每个星星的宽度) + 4(空格间距))) * 4

两个距离相加就得到了实际距离了

js代码

let w=16 * 10 * percent + Math.floor(196 * percent / (16 + 4)) * 4

document.getElementById('mask').style.width=(w / 196).toFixed(2) * 100 + '%';

完整代码:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>星级评分</title>

<style>

.box {

position: relative;

display: inline-block;

}

.star-wrap span {

float: left;

width: 16px;

height: 16px;

}

.star-wrap span:not(:last-child) {

margin-right: 4px;

}

.bottom span {

background: url(./assets/img/star.png) 0 0 no-repeat;

}

.mask span {

background: url(./assets/img/star_1.png) 0 0 no-repeat;

}

.mask {

position: absolute;

left: 0;

top: 0;

overflow: hidden;

}

</style>

</head>

<body>

<div class="box">

<div class="bottom star-wrap">

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

</div>

<div class="mask star-wrap" id="mask">

<!-- 这里需要外加个容器设置足够大的宽度,防止宽度不够,内容往下掉 -->

<div style="width:300px;">

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

</div>

</div>

</div>

<script>

function calcWidth(percent) {

let w=16 * 10 * percent + Math.floor(196 * percent / (16 + 4)) * 4

document.getElementById('mask').style.width=(w / 196).toFixed(2) * 100 + '%';

}

calcWidth(0.95);

</script>

</body>

</html>


幅艺术概念画显示的是类星体“SDSS J135246.37+423923.5”的宿主星系在可见光波段上的外观。

类星体(quasar),也被称为准恒星天体,是天体物理学领域中一种位于大质量星系中心的、异常明亮的天体。类星体中心有一个超大质量的黑洞,黑洞周围环绕着一个发光的气体圆盘。这种天体可以让其宿主星系中的所有恒星都黯然失色,并能驱动足以影响整个星系的强劲星际风。

据美国“物理学组织”网站4月14日消息称,一个天文学家团队利用美国夏威夷的双子座北(Gemini North)望远镜在600亿光年外一个被命名为“SDSS J135246.37+423923.5”的类星体附近,探测到一股有史以来最强劲、能量最大的类星体星际风。这股以接近光速13%的速度注入其宿主星系的流出物所携带的能量足以显著地影响整个星系中的恒星形成过程。相关研究结果近日刊发在《天体物理学杂志》上。

这个银河系外的星际风暴在天文学家的眼皮底下隐藏了15年,直到获得尖端的计算机建模技术和跨国双子天文台的最新观测数据的帮助,科学家们才揭开它的面纱。

该双子座观测项目的负责人、加拿大韦仕敦大学天文学家Sarah Gallagher介绍道:“虽然以前我们曾在类星体中观测到过高速星际风,但它们都很稀薄,质量也比较小。相比之下,这个类星体流出物的速度惊人,席卷着巨量的物质横扫而过。这股风太大了,以至于我们还不知道类星体如何能发射出如此大量的物质。”

除了测量该类星体的流出量以外,该研究小组还推断出驱动它的超大质量黑洞的质量。这个巨型天体的质量是太阳的86亿倍,也是银河系中心黑洞质量的2000倍左右,其规模比著名的“梅西耶87”(Messier 87)星系中心的黑洞还要大50%。这个类星体打破了迄今为止人类测量到的、最活跃的类星体星际风纪录,它比最近一项研究中报告的13个类星体的风都更加活跃。

该小组的发现为未来的研究提出了重要的问题,同时也表明可能还有更多的类星体等待被发现。该论文的第一作者、美国俄克拉荷马大学(University of Oklahoma)的研究生Hyunseop (Joseph) Choi展望道:“在我们的天文测绘数据中,可能还隐藏着更多拥有非常强劲星际风的类星体。”

原创编译:朱明逸 审稿:alone 责编:唐林芳

期刊来源: 《天体物理学杂志》

期刊编号: 0004-637X

原文链接: https://phys.org/news/2020-04-cosmic-tempest-astronomers-energetic-outflow.html

版权声明:本文为原创编译,中文内容仅供参考,一切内容以英文原版为准。转载请注明来源。

嘿嘿!

本周小美发放的大餐券

你有没有去摸一把呀?

今天赶紧再去领个号牌牌~

去高端餐厅吃霸王餐的就是你啦!

携程美食林高端餐厅

代金券每人两张!

直接拉到文末抢券!

五星级酒店大餐·私房菜·高端下午茶

全!都!有!

坐标·上海

浦东嘉里大酒店THE COOK厨餐厅

携程美食林臻选

畅享环球五星自助餐

作为五星级酒店内的自助餐厅,The Cook厨餐厅的出品自然是毋庸置疑的。餐厅有11个开放式厨房,一个西点展台和室外露台卡座,囊括从中式烹饪小食到亚洲面点、日式刺身、法式糕点、西式佳肴、亚洲烧烤、鲜磨咖啡、佳酿乳酪等各类国际美食美味,可以满足来自不同地域客人的需要。

▲餐厅内景

▲让你大快朵颐的肉和海鲜

▲少女心甜品

坐标·厦门

堂宴-老厦门私房菜

携程美食林臻选

品鉴闽南菜系的古早味

堂宴,顾名思义,正是众人欢聚一堂的寓意。 一直致力于发掘传统地道厦门菜品的堂宴,深受本地食客们的喜爱。堂宴的沙茶酱以古方二十多味药材,文火炒制,搭配精选传统老三样:新鲜鱿鱼,大肠头,猪肝沿, 成为招牌沙茶闷三宝。此外,黄鱼煮面香酥芋泥鸭也是逢单必点的菜品。

▲欢聚一堂

▲沙爹风干牛肉盏

▲香酥芋泥鸭

坐标·北京

Park Square园庭

携程美食林臻选

京城庭院西餐

park square园庭,就位于公园旁边,拥有一个十分漂亮的庭院。在庭院里享受brunch或者下午茶的感觉都很不错,室内的环境优雅安静,用红酒柜当隔断的设计非常赞。菜品偏向西式简餐,牛排和小食类味道都不错。

*以上图片部分来自携程美食林用户

让你免费吃的餐厅还包括:

上海:非常时髦酒吧 | 宝莱纳餐厅

厦门:宴遇 | 香遇巴厘印泰餐厅

北京:eatalia意大利餐厅 | 格鲁秀色餐厅


赶紧复制

https://m.ctrip.com/webapp/you/operations/lotterydraw.html?source=fromglsqwechat

前往活动页面

高端大餐就等你吃


“携程美食林·全球餐厅精选榜”

为你提供全球主要城市优质餐厅的美食推荐。上榜餐厅通过美食达人推荐,资深评委试吃评审,国内美食专家反复举证与讨论,上线公示四个流程选出。榜单包含星级榜、臻选榜和风味榜,满足你不同维度的美食需求。