首页 > 其他分享 >ie上画圆饼图

ie上画圆饼图

时间:2023-06-01 10:01:47浏览次数:43  
标签:转换 定义 上画 圆饼 li 测试 percentage ie 3D


概述


主要运用到CSS3的transform、js、jq实现饼状图效果


详细




一、准备工作

1、主要运用到CSS3的3D transform等变换

  • transform:向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜


描述

测试

none

定义不进行转换。

测试

n,n,n,n,n,n)

定义 2D 转换,使用六个值的矩阵。

测试

n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)

定义 3D 转换,使用 16 个值的 4x4 矩阵。


x,y)

定义 2D 转换。

测试

x,y,z)

定义 3D 转换。


x)

定义转换,只是用 X 轴的值。

测试

y)

定义转换,只是用 Y 轴的值。

测试

z)

定义 3D 转换,只是用 Z 轴的值。


x,y)

定义 2D 缩放转换。

测试

x,y,z)

定义 3D 缩放转换。


x)

通过设置 X 轴的值来定义缩放转换。

测试

y)

通过设置 Y 轴的值来定义缩放转换。

测试

z)

通过设置 Z 轴的值来定义 3D 缩放转换。


angle)

定义 2D 旋转,在参数中规定角度。

测试

x,y,z,angle)

定义 3D 旋转。


angle)

定义沿着 X 轴的 3D 旋转。

测试

angle)

定义沿着 Y 轴的 3D 旋转。

测试

angle)

定义沿着 Z 轴的 3D 旋转。

测试

x-angle,y-angle)

定义沿着 X 和 Y 轴的 2D 倾斜转换。

测试

angle)

定义沿着 X 轴的 2D 倾斜转换。

测试

angle)

定义沿着 Y 轴的 2D 倾斜转换。

测试

n)

为 3D 转换元素定义透视视图。

测试

2、对于圆角问题,兼容ie8,需要用到ie-css.htc这个文件。对于圆饼的实现需要运用overflow:hidden属性根据li的高度限制span标签内容的显示。

二、程序实现

原先我在ul标签上画一个圆并设置超出隐藏,然后在li就给饼状图所占比例的高度。但实际上是不行的,因为ul虽然在ie上显示为圆角,但是它本身还是矩形,所以超出隐藏也是按照矩形来超出隐藏,li也所会显示为一个矩形,并不能像我想象那样li变成圆饼状。
后面我想到用li来做超出隐藏,如果是百分80%的饼状图,li的高度是ul的80%而宽度不变,在li里面加个span画一个跟ul一模一样的圆形。由于li做了超出隐藏,所以span的圆也只会跟li的高度一样,这样圆饼图就画出来了。

ie上画圆饼图_超出隐藏

html代码如下:

<div class="percentage-img">
  <ul>
   <li><span></span></li>
  </ul>
  <span data-percentage="80"></span>
 </div>

js部分代码如下:



var explorer = navigator.userAgent;

 var per1 , span1 = $(".percentage-img>span").data("percentage");

 $(".percentage-img>span").html(span1 + "%");

 per1 = parseInt(span1 * 3.6);

       if (explorer.indexOf("MSIE") >= 0) {

           $(".percentage-img>ul>li").css("height", span1);

       } else {

           pertenage(per1, ".percentage-img");

           $(".percentage-img>ul>li").css({

               'position': 'absolute',

               'top': '50px',

               'left': '50px',

               'width': '50px',

               'height': '1px',

               'background-color': '#269dda',

               '-webkit-transform-origin': '0% 0%',

               '-ms-transform-origin': '0% 0%',

               'transform-origin': '0% 0%',

               'z-index': '2'

           })

       }




css样式如下:

.percentage-img{
       position: relative;
       margin: 20px 0;
       border-right: solid 1px #f9f9f9;
       text-align: center;
}
.percentage-img>ul{
       position: relative;
       display: inline-block;
       width: 100px;
       height: 100px;
       border-radius: 100px;
       background-color: #ccc;
}
.percentage-img>span{
       display: inline-block;
       position: absolute;
       top: 0;
       left: 0%;
       width: 100%;
       line-height: 100px;
       text-align: center;
       font-size: 16px;
       color: #fff;
       z-index: 10;
}


三、文件、运行截图


1、文件截图:

ie上画圆饼图_ie上画圆饼图_02

双击index.html即可看到效果

2、运行效果图:

ie上画圆饼图_缩放_03



注:本文著作权归作者,由demo大师宣传,拒绝转载,转载需要作者授权




标签:转换,定义,上画,圆饼,li,测试,percentage,ie,3D
From: https://blog.51cto.com/u_7583030/6392479

相关文章

  • Jmeter Cookie 设置不起效解决
    使用HttpCookieManager不能将前一个请求设置的Cookie传递到下一个请求。特别是对于一些 使用302重定向的页面。解决方案是使用 BeanShellPreProcessornewCookie(name,value,domain,paht,secure,length)name:要设置的cookienamevalue:要设置的value,可以是......
  • 5.5. Java并发工具类(如CountDownLatch、CyclicBarrier等)
    5.5.1CountDownLatchCountDownLatch是一个同步辅助类,它允许一个或多个线程等待,直到其他线程完成一组操作。CountDownLatch有一个计数器,当计数器减为0时,等待的线程将被唤醒。计数器只能减少,不能增加。示例:使用CountDownLatch等待所有线程完成任务假设我们有一个任务需要三个子......
  • Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练
    原文链接: http://tecdat.cn/?p=25939最近我们被客户要求撰写关于多输出(多因变量)回归的研究报告,包括一些图形和统计输出。在之前的文章中,我们研究了许多使用多输出回归分析的方法。在本教程中,我们将学习如何使用梯度提升决策树GRADIENTBOOSTINGREGRESSOR拟合和预测多输出回归......
  • 如何使用TableView展示表格数据
    如何使用TableView展示表格数据TableView可以展示一个行列二维表格。表格由表头和记录组成。表头由若干TableColumn组成。通过定义TableView的代码:TableView<Student>studentTableView;可以看出,记录的数据结构就是其模板参数。我们可以把Student的getXxx方法映射......
  • 如何利用ObservableList为TableView添加Add和Del功能
    如何利用ObservableList为TableView添加Add和Del功能TableView的记录可以绑定到一个ObservableList。ObservableList是一种列表数据结构,继承自List。很多JavaFX控件都可以用ObservableList管理动态数据。利用ObservableList可以为TableView提供增加和删除数据的......
  • 【Azure K8S】演示修复因AKS密钥过期而导致创建服务不成功的问题(The provided client
    问题描述在AzureKubernetes服务中,创建一个InternalLoadBalancer服务,使用以下yaml内容:internallb.yamlapiVersion:v1kind:Servicemetadata:name:ilb-myappannotations:service.beta.kubernetes.io/azure-load-balancer-internal:"true"spec:type:LoadBala......
  • 如何使用TreeView展示树状数据
    如何使用TreeView展示树状数据TreeView是一个可用于显示树形数据结构的UI组件。它提供了一个可折叠、可展开的树状视图。TreeView是一个树状结构,其根节点的类型是TreeItem。每个TreeItem又可以包含若干TreeItem。由此可组成一颗树形结构。效果展示示例代码importj......
  • 【Azure K8S】演示修复因AKS密钥过期而导致创建服务不成功的问题(The provided client
    问题描述在AzureKubernetes服务中,创建一个InternalLoadBalancer服务,使用以下yaml内容:internallb.yamlapiVersion:v1kind:Servicemetadata:name:ilb-myappannotations:service.beta.kubernetes.io/azure-load-balancer-internal:"true"spec:type:L......
  • kkFileView漏洞总结(转)
     发布时间2023-05-0422:18:52作者:渗透测试中心0x00kkFileview存在任意文件读取漏洞漏洞描述KekingKkFileview是中国凯京科技(Keking)公司的一个Spring-Boot打造文件文档在线预览项目。KekingkkFileview存在安全漏洞,该漏洞源于存在通过目录遍历漏洞读取任意文件,可能导......
  • Cookie、Session、Token、LocalStorage、SessionStorage
    Cookie简介:HTTP是无状态的,服务器无法记录收到的每一次请求,意味着服务器无法识别不同的请求是否来自相同的客户端。Cookie是服务器创建的一个对象,在收到客户端请求后,携带在响应头(Set-Cookie)中返回给客户端,客户端将Cookie存到本地,在下一次请求中将Cookie信息放到请求头发......