UI设计是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UI设计是啥?相关的知识,希望对你有一定的参考价值。

UI设计(User Interface Design)即界面设计,是指对软件的人机交互、操作逻辑、界面美观的整体设计。可以分为实体UI和虚拟UI两类,互联网中所提及的UI设计即是虚拟UI。好的UI设计不仅可以让软件变得更有个性、有品位,还可以让软件的操作变得更为舒适和简单。

1、UI设计也被称做用户界面设计,是针对一些软件整体的界面、外观相关的设计。
2、UI设计是指对软件的人机交互、操作逻辑、界面美观的整体设计。
3、UI设计分为实体UI和虚拟UI,互联网常用的UI设计是虚拟UI。
4、UI设计不仅能让软件变得有个性有品味,还能充分体现软件的定位和特点。
5、UI设计囊括了很多方面,用户界面设计师,软件设计,APP设计等等,很广泛。

想要了解更多关于、UI设计的相关信息,推荐选择Pixso协同设计。该工具无缝衔接以往工作,支持Sketch、XD、SVG等文件导入导出,自由进行Sketch的文件格式转换。并且,文件自动保存到云端,一键回溯到任意历史版本,再也不用担心文件丢失。素材库集成众多大厂优秀的设计系统,所有 UI 设计师均可直接拖拽复用,从此省去大量模块化设计环节的重复劳动。

参考技术A UI设计(或称界面设计)是指对软件的人机交互、操作逻辑、界面美观的整体设计。UI设计分为实体UI和虚拟UI,互联网常用的UI设计是虚拟UI,UI即User Interface(用户界面)的简称。作为UI设计的主体,设计公司的专业程度及规模是决定作品质量的重要条件,大部分设计公司无法同时满足UI设计对各方面人才的要求,以至于出产的作品大多存在各种缺陷。千锋教育是一家拥有核心教研能力,以坚持面授的泛IT职业教育培训为根基,截止目前已在北京、深圳、上海、广州、郑州、大连等20余个核心城市建立直营校区,培育了众多IT行业的人才。

做哪些设计才叫UI设计呢?主要包括3个内容:人机交互、操作逻辑、界面美观。简单阐述就是:人机交互就是人与机器的交流互动;操作逻辑就是操作过程的逻辑关系;界面美观就是操作界面的看上去比较舒服、美丽。关于web前端的更多相关知识,建议到千锋教育进行更详细的了解,目前,千锋教育已在北京、深圳、上海、广州、郑州、大连等20余个核心城市建立直营校区,等待你的随听。官网客服Pixso协同设计
2022-02-16·让设计更流畅,协作更高效Pixso协同设计深圳市博思云创科技有限公司成立于2021年,旗下目前共有两款核心产品协同设计Pixso和协同白板BoardMix。向TA提问UI设计(User Interface Design)即界面设计,是指对软件的人机交互、操作逻辑、界面美观的整体设计。可以分为实体UI和虚拟UI两类,互联网中所提及的UI设计即是虚拟UI。好的UI设计不仅可以让软件变得更有个性、有品位,还可以让软件的操作变得更为舒适和简单。

1、UI设计也被称做用户界面设计,是针对一些软件整体的界面、外观相关的设计。
2、UI设计是指对软件的人机交互、操作逻辑、界面美观的整体设计。
3、UI设计分为实体UI和虚拟UI,互联网常用的UI设计是虚拟UI。
4、UI设计不仅能让软件变得有个性有品味,还能充分体现软件的定位和特点。
5、UI设计囊括了很多方面,用户界面设计师,软件设计,APP设计等等,很广泛。

想要了解更多关于、UI设计的相关信息,推荐选择Pixso协同设计。该工具无缝衔接以往工作,支持Sketch、XD、SVG等文件导入导出,自由进行Sketch的文件格式转换。并且,文件自动保存到云端,一键回溯到任意历史版本,再也不用担心文件丢失。素材库集成众多大厂优秀的设计系统,所有 UI 设计师均可直接拖拽复用,从此省去大量模块化设计环节的重复劳动。

已赞过已踩过<你对这个回答的评价是?评论收起千锋IT教育
2022-09-21广告随着技术领域的不断拓展,具备人性化意识的产品生产观念在各大公司之间日趋增强,用户界面设计师(即UI设计师)也迅速进入人们的视野,并且成为人才市场上十分紧俏的职业。如果你是一名平面设计师,你想转行UI,那么你需要付出的努力也要比别人多的多才行。目前...点击进入详情页本回答由千锋IT教育提供师傅又被抓走啦
2020-11-15·员工师傅又被抓走啦采纳数:513获赞数:21280
向TA提问私信TA

UI是User Interface的简称,UI设计就是指对软件的人机交互、操作逻辑、界面美观的整体设计。比较直白的说明就是,当我们打开微信、操作点击任意一个功能,出现在你眼前的界面都是属于UI设计。


一个优秀的UI设计可以体现出个性和品味,最主要的就是让软件在操作时舒适简单、自由,充分体现软件的定位和特点。UI设计一般分为三个方面,图形设计,交互设计,用户测试体验,我们所说的UI设计师就是,软件图形设计师、交互设计师、用户研究工程师。

UI设计构是成现在的智能生活不可或缺的一部分,平面设计不是我们感觉的那种单纯美术工作,而是软件产品的产品“外形”设计。现在国内目前大部分的UI工作者都是这个工作内容。而交互设计主要就是让用户操作起来更加简单、直接,一个软件产品在编码之前需要做的就是交互设计,并且确立交互模型,交互规范。

用户测试体验顾名思义就是测试交互设计的合理性及图形设计的美观性,主要以目标用户问卷的形式衡量UI设计的合理性。主要是了解用户现在需要什么样的体验以及界面,从而方便用户使用。毕竟图形设计,交互设计都是为了终端用户的感受更舒适,更便于操作。想要成为一个UI设计师,除了熟练使用各类软件,还需要具备色彩、排版、心理学、数据分析等等这一系列的软实力,同时还要清楚的知道,软件的操作技巧不能决定你走多远,但它在一定程度上决定了你能不能走这条路。不过从应用领域来看,UI设计的前景还是非常不错的。

参考技术B 回答

你好!UI设计全称“User Interface”,简称用户界面,是指对软件的人机交互、操作逻辑、界面美观的整体设计。UI 设计的工作内容可以概括为三方面:视觉设计、交互设计和用户体验的提升。视觉设计主要包括界面设计、logo设计、图标设计、动效设计等视觉画面的设计;交互设计主要负责操作流程、操作规范,将各个界面之间做好跳转,让用户简单快速的获得自己想要的功能,降低操作难度;用户体验想要做好用户体验,不仅要懂得用户心理、习惯,还需要色彩设计,图案形状等方面细化。好的UI设计不仅让软件变得有个性有品位,还要让软件的操作变得舒适简单、自由,充分体现软件的定位和特点。

参考技术C

UI(User Interface),中文名“用户界面”。Ps:(百度解释)UI是指对软件的人机交互、操作逻辑、界面美观的整体设计。

那互联网的这波浪,无论前浪,还是后浪都从未消停过。你经常看到“互联网+”这样的组合,通俗解释“互联网+”就是“互联网+各个传统行业”,但这并不是简单的两者相加,而是利用信息通信技术以及互联网平台,让互联网与传统行业进行深度融合,创造新的发展生态。

在这其中,又与UI有什么紧密联系呢?

把传统行业放到互联网上,肯定需要用一个界面来展示,哪怕只是一个简单的网页,而每一个互联网下的产品无论是PC端还是移动端,无论传统行业还是非传统行业,最终呈现都要以UI界面为依托,供用户使用查看。这其中又不仅要视觉产出,还要好的交互和用户体验。

举个例子,说说我们平常不太关注的来电接听这回事。

苹果手机在不锁屏的状态下,来电显示时,接电话在右边显示绿色,挂电话在左边显示红色。一般情况下右手拿电话,大拇指操作,绿色是接听电话,这是我们的常规操作,使用频率很高,所以在右边离大拇指更近,而挂电话频率不高所以在左边远一些。从色彩体验上分析,红色也有警示警告的作用,

但如果红色按键和绿色按键换个位置,其实并不会影响视觉,但却不是一个好体验,可能随时都会有挂电话的误操作。UI无处不体现在我们生活之中,无论大小,它都存在于你所看到的,你所触碰到的体验里。所以UI不单纯是美工,还要考虑到视觉效果和用户体验。而用户是很挑剔的,对视觉的需求和对体验的需求都在不断的发生变化和提高。所以这也造就了UI设计师这种不需要敲代码,但仍然可以拿高薪的互联网岗位。

参考技术D

很多想要自学UI设计的小伙伴,苦于没有好的学习计划、课程大纲,学习效果很不好,花了时间也没有将自己的知识体系建设全面。那自学UI设计到底应该如何学习呢?
在讲学习流程之前,我们先来来简单介绍一下什么是UI设计以及UI设计的前景如何。因为只有你了解了UI设计之后,你才知道自己是否对其感兴趣,是否是真的愿意花时间和精力去学习。
一、UI设计
UI(User Interface),中文名“用户界面”。Ps:(百度解释)UI是指对软件的人机交互、操作逻辑、界面美观的整体设计。
那互联网的这波浪,无论前浪,还是后浪都从未消停过。你经常看到“互联网+”这样的组合,通俗解释“互联网+”就是“互联网+各个传统行业”,但这并不是简单的两者相加,而是利用信息通信技术以及互联网平台,让互联网与传统行业进行深度融合,创造新的发展生态。
在这其中,又与UI有什么紧密联系呢?
把传统行业放到互联网上,肯定需要用一个界面来展示,哪怕只是一个简单的网页,而每一个互联网下的产品无论是PC端还是移动端,无论传统行业还是非传统行业,最终呈现都要以UI界面为依托,供用户使用查看。这其中又不仅要视觉产出,还要好的交互和用户体验。
举个例子,说说我们平常不太关注的来电接听这回事。
苹果手机在不锁屏的状态下,来电显示时,接电话在右边显示绿色,挂电话在左边显示红色。一般情况下右手拿电话,大拇指操作,绿色是接听电话,这是我们的常规操作,使用频率很高,所以在右边离大拇指更近,而挂电话频率不高所以在左边远一些。从色彩体验上分析,红色也有警示警告的作用,
但如果红色按键和绿色按键换个位置,其实并不会影响视觉,但却不是一个好体验,可能随时都会有挂电话的误操作
UI无处不体现在我们生活之中,无论大小,它都存在于你所看到的,你所触碰到的体验里。所以UI不单纯是美工,还要考虑到视觉效果和用户体验。而用户是很挑剔的,对视觉的需求和对体验的需求都在不断的发生变化和提高。所以这也造就了UI设计师这种不需要敲代码,但仍然可以拿高薪的互联网岗位。
二、UI设计学习计划
很多小伙伴没有严格的学习计划,导致于自学周期被自己拖得很长,所以自学UI设计,一定要制定适合自己的学习计划,严格按照学习计划去完成学习目标,才能获得最终的胜利。那每个人的学习能力和技能掌握情况不同,在这里分享一个零基础全天候以周划分的学习计划。希望你可以针对自己的情况,参考此计划为自己的量身打造UI设计自学计
越简单的元素搭配,就越考察一个设计师的基础功,如果没有过硬的技术和扎实的基本功,就难以准确地传达产品自身调性和营销卖点。
我们都知道创意思维对于设计师的重要性,却也不能忽略基本功对于设计师的必要性。只有坚持不断的负重训练,扎实美术功底,才能在日后的商业实战中轻松驾驭各种风格。
第一周:手绘
手绘的重点主要是培养学员的形体结构,光感、空间的关系,这算是一个审美培养的启蒙,时下最流行的矢量插画就和手绘密切相关。
第二、三周:PS、AI基础软件的学习
从零开始学习软件,需要用实际的案例去学习,这样更加容易上手,并且UI设计的学习并不是只是简单的学习软件工具,很多在人都以为UI设计只要会了PS、AI等就可以了,其实让通过实际的案例去了解设计背后的意义即设计思维、创意理解,才是更为重要的目的。
但是只学思维也不行,我们也要加强设计的基本功,对软件完全的精通掌握,这是必须的。
第四、五周:平面构成、Logo
掌握平面设计中点、线、面,加以延伸到到Logo设计,Logo一方面是包括图形另一方面是包括字体,所以了解文字结构是非常基础的,以及如果这一阶段学的非常好,接Logo私单,价格高到不敢相信。
并且logo品牌部分学习中,要会从Logo的形式、气质、基础属性、思维方式、以及标准制图等去深入学习。一个简单的图形通过形式的变形而演变出千变万化的造型,如此多的变化还怕设计不出Logo吗?

举例:从形入手,一个圆可变实心的圆、可变空心的、可变半圆的还可变椭圆、半圆,那是不是就能联想到鸡蛋、煎蛋、荷包蛋、帽子、水杯呢?
第六周:品牌Logo定稿以及VI手册设计
图片来源:阿多比设计学院学员作品
这一周其重点是甲方思维思考设计,对,就是那个烦人的甲方爸爸,需要学习换位思考。
整个第一阶段的学习内容都是非常基础的,目的是培养设计思维,正所谓懂用户所想,还不能设计出好产品?
第七周:响应式网站、一屏式网站
从案例来讲述网页设计的构成、颜色、字体、功能、按钮以及设计规范、排版规范。
第八周:后台数据
除了后台设计,更多的是后台的数据统计处理,如何做到简单化、明了化。
第九周:电商设计
电商平台首页设计,每一个月各大购物平台都会有全站式的活动,活动主题都不一样,所以其实电商设计的人才缺口是非常大的。
第十周:淘宝平台详情页、后台
这一部分是可以自己去申请淘宝店、上架产品,任何学习都没有直接上手来得快。实操实练,自己去体会各大平台的规范,才会了解得更加清楚。
第十一周:C4D、Banner
进入3D训练啦,丰富视觉效果,提高就业竞争能力,多会一门技术,就多一些可能,这也是我们要为什么不断学习提升自己的原因。
第二阶段,更多的是网页的设计训练,重点掌握企业站界面设计规范和输出规范,且能够根据企业真实需求设计页面。
第十二周:用户体验、竞品分析、原型图
本周开始设计APP,通过数据分析来做竞品分析,使用Axure来绘制APP的原型图。
第十三周:图标
有意思的图标也是完整APP设计的重要一环。
第十四周:界面、胶囊
通过标志性APP来讲弹窗页、闪动页。
第十五周:界面设计
继续完成APP,并学会切图、命名、标注、打包、交接(前端小哥哥、小姐姐打不打就看这周的学习内容了)
第十六周:运营界面
营销推广性的用户思维培养,把握用户的痛点提升整体运营界面,达到营销推广的目的。这一般都是通过突然跳出来的弹窗、闪屏等,比如促销性质的页面,增加了视觉感染力,促进了用户的点击。
第十七周:交互动效
学好AE动效会非常加分,因为它可以准确的传达出你的思路,演示你想要的表达的效果。这必将成为UI的流行趋势,不想要被市场淘汰,一定要继续学习啊!
这一个阶段,可以尝试着手设计属于自己的APP,你可以选择自己喜欢的主题,没有局限性,这可以成为零基础转行的你的作品集内容哦。
第十八周:前端
大家都知道与UI设计师密切合作的是前端,那作为一个UI设计师,只有懂了前端,这样才会合作得更好,提升工作的效率。我们可以学习html5,学习CSS3等。
虽然是以周划分,安排得满满当当,这样学习流程适合大多数零基础的小伙伴,每周的内容如果学习的不扎实,可以适当停留脚步,因为每个人的学习能力不同,学习掌握情况不同。一定要将知识学扎实,一步一个脚印的往前走,才能真正将UI设计知识掌握牢靠。

构建这个复杂图的最佳方法是啥

【中文标题】构建这个复杂图的最佳方法是啥【英文标题】:What method would be best to build this complex graph构建这个复杂图的最佳方法是什么 【发布时间】:2011-09-03 10:50:18 【问题描述】:

在从事 UI 开发 15 年后,我很少看到并思考“我到底是怎么做到的”。这是其中之一。

一位平面设计师向我的客户出售了一个非常复杂的五边形图形,由 5 个独立的三角形组成。设计师已指定每个三角形应该是与品牌相匹配的特定颜色,并且每个三角形都应该根据每种颜色所代表的过程百分比来“填充”。您几乎必须看到图像才能理解:

我已经绞尽脑汁想弄清楚如何完成这项任务。客户已指定它必须兼容所有主流浏览器,为了理智,我将告诉他这将是 IE7+。这严重限制了 CSS3 技术,尽管由于缺乏其他想法,我肯定会接受 CSS3 方法。我不想在深夜敲打动作脚本,所以 Flash 在我的愿望清单的最底部。实际上,我已经集思广益了如何使用 Sprites 来实现它,但是生成 250 或 500 个三角形和相关 CSS 的想法在将 Chrome 换成 IE6 时排名靠前。

该网站建立在 PHP/MySQL 之上,我们大量使用 Jquery。如有必要,我们也可以使用完整版的 FusionCharts 和 HighCharts。如果有可以实现这一目标的商业产品,我当然愿意购买它来完成这项工作。

完成这项艰巨任务的最佳方法是什么?

【问题讨论】:

+1 一个写得很好的问题,讨论了一个很容易(并且错误地)成为“gimme-codez”问题的主题的许多可能替代方案。谢谢你。 大声笑,设计师不能让客户用饼图解决吗? :D 相信我,我试过了。如果我在看到光之前不是一名平面设计师,可能有人受伤了...... @bpeterson76:我已经更新了我的答案以包含代码。我花了将近一个小时,所以我希望它有用。 @thirtydot:哇!很棒的工作...绝对有用的东西。 【参考方案1】:

除非我能找到已经编写好的实现,否则我会使用Raphaël。

这需要大量工作,但最终结果应该非常好。

看看一些演示,它们非常漂亮。

Raphaël 目前支持 Firefox 3.0+、Safari 3.0+、Chrome 5.0+、Opera 9.5+ 和 Internet Explorer 6.0+。


这看起来很有趣,所以我决定自己和 Raphaël 一起实现它:

见:http://jsfiddle.net/2Tsjy/

它应该适用于“所有浏览器”。我唯一没有做的就是文字。

JavaScript:

var paper = Raphael("pentagon"),
    fullNum = [40, 53],
    borderColours = ['#329342','#9e202c','#f47933','#811f5a','#11496c'],
    fillColours = ['#74ae3d','#d01f27','#eaa337','#32133f','#2c7aa1'],
    triangles = [],
    border, fill, st, i;

for (i=0; i<5; i++) 
    border = paper.path(getPercentPath(0)).attr(
        'fill': borderColours[i],
        'stroke-width': 0        
    ),
    fill = paper.path(["M", 116, 123] + "l-44,61 88,0z").attr(
        'stroke': fillColours[i],
        'stroke-width': 6
    );
    triangles.push(border);

    st = paper.set();
    st.push(border, fill);
    st.rotate(i * 72, 116, 113);

    setPercent(i, 30+Math.floor(Math.random()*70));


function getPercentPath(percent) 
    var ratio = percent/100;
    return ["M", 116, 128] + "l-" + ratio*fullNum[0] + "," + ratio*fullNum[1] + " " + ratio*fullNum[0]*2 + ",0z";

function setPercent(i, percent) 
    triangles[i].attr(
        path: getPercentPath(percent)
    );



setInterval(function()
    for (var i=0; i<5; i++) 
        setPercent(i, 30+Math.floor(Math.random()*70));
    
, 2000);

CSS:

#pentagon 
    width: 226px;
    height: 227px;
    border: 1px solid red;
    background: #fff;
    background: rgba(255,255,255,0.8)

HTML:

<div id="pentagon"></div>

【讨论】:

【参考方案2】:

我不得不推荐 RaphaelJS(参见 http://raphaeljs.com/)。它是 IE7 兼容的,你可以很好地做三角形:你需要做数学,但很有可能。

编辑:查看http://www.chittram.com/editor.jsp 以获得一些可以完成的形状的快速示例。该网站是一个交互式编辑器,但展示了您需要的核心功能。

【讨论】:

【参考方案3】:

&lt;canvas&gt; 呢? 您可以轻松地绘制一个三角形,然后通过旋转画布360/5 度来绘制其他三角形。

示例:http://jsfiddle.net/Stijntjhe/dC6kX/

window.onload = function() 
    var ce = document.getElementById('ce');
    var c = ce.getContext('2d');
    c.translate(ce.offsetWidth / 2, ce.offsetHeight / 2);

    for(var pie = 0; pie < 5; pie++) 
        c.save();
        c.rotate(pie/5 * Math.PI * 2);

        c.beginPath();
        c.moveTo(0, -10);
        c.lineTo(-50, -80);
        c.lineTo(50, -80);
        c.lineTo(0, -10);
        c.lineWidth = 5;
        c.lineCap = 'square';
        c.strokeStyle = colors[pie];
        c.stroke();

        c.restore();
     

变成:

缺点: 可能还没有跨浏览器。

【讨论】:

+1 很棒的小提琴。我没有很长时间来玩它,但作为一个快速而肮脏(而且有点不准确)的概念证明,我已经分叉了 Stijntjhe 的小提琴:jsfiddle.net/kXFQe。需要计算百分比以反映在三角形内,但我只是想我会用画布证明它是可能的。 它仍然需要一些数学,我现在只是猜到了绳子。 @Ben Stephenson:我猜是not cross-browser yet 如果您打算在 *** 上的每个有用答案上发布 cmets 并引用部分答案,那么祝您好运【参考方案4】:

如果它绝对必须尽可能兼容,我会生成一个 SVG 图像并将其渲染为 PNG。对于像这样只有这么少点的图像,这并不像听起来那么慢。

这是一个非常快速、非常肮脏的例子。它假定您有 ImageMagick 扩展可用,但在紧要关头您可以将 SVG 转储到文件和 exec() 像 rsvg 这样的命令行工具。显然,“正确”的答案涉及渲染图的某种缓存方案。另外,请原谅我不是一个 SVG 忍者。

graph.svg.php:

<?php echo '<'; ?>?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg  
     xmlns="http://www.w3.org/2000/svg" version="1.1">

  <g transform="translate(120,120) translate(0,15)">
    <polygon fill="none" stroke="green" stroke- 
              points="0,0 -50,68.82 50,68.82" />
    <g transform="scale(<?php echo $fill['green']; ?>)">
      <polygon fill="green" stroke="green" stroke- 
                points="0,0 -50,68.82 50,68.82" />
    </g>
  </g>

  <g transform="translate(120,120) rotate(72) translate(0,15)">
    <polygon fill="none" stroke="red" stroke- 
              points="0,0 -50,68.82 50,68.82" />
    <g transform="scale(<?php echo $fill['red']; ?>)">
      <polygon fill="red" stroke="red" stroke- 
                points="0,0 -50,68.82 50,68.82" />
    </g>
  </g>

  <g transform="translate(120,120) rotate(144) translate(0,15)">
    <polygon fill="none" stroke="yellow" stroke- 
              points="0,0 -50,68.82 50,68.82" />
    <g transform="scale(<?php echo $fill['yellow']; ?>)">
      <polygon fill="yellow" stroke="yellow" stroke- 
                points="0,0 -50,68.82 50,68.82" />
    </g>
  </g>

  <g transform="translate(120,120) rotate(216) translate(0,15)">
    <polygon fill="none" stroke="purple" stroke- 
              points="0,0 -50,68.82 50,68.82" />
    <g transform="scale(<?php echo $fill['purple']; ?>)">
      <polygon fill="purple" stroke="purple" stroke- 
                points="0,0 -50,68.82 50,68.82" />
    </g>
  </g>

  <g transform="translate(120,120) rotate(288) translate(0,15)">
    <polygon fill="none" stroke="blue" stroke- 
              points="0,0 -50,68.82 50,68.82" />
    <g transform="scale(<?php echo $fill['blue']; ?>)">
      <polygon fill="blue" stroke="blue" stroke- 
                points="0,0 -50,68.82 50,68.82" />
    </g>
  </g>

</svg>

render.php:

<?php

$fill = array(
    'green'  => 0.5,
    'red'    => 0.8,
    'yellow' => 0.55,
    'purple' => 0.4,
    'blue'   => 0.75,
);

ob_start();
include('graph.svg.php');
$svg = ob_get_contents();
ob_end_clean();

$im = new Imagick();
$im->readImageBlob($svg);
$im->setImageFormat('png24');
$png = $im->getImagesBlob();
$im->clear();
$im->destroy();

header('Content-Type: image/png');
header('Content-Length: ' . strlen($png));
echo $png;
exit;

输出如下所示:

【讨论】:

【参考方案5】:

我认为如果您必须在 JS/CSS 中执行此操作并且 Flash/HTML5 不是一个选项,请看一下在 CSS 中使用三角形的一个方便技巧:

http://www.howtocreate.co.uk/tutorials/css/slopes

还有一个替代参考:

http://css-tricks.com/snippets/css/css-triangle/

通过巧妙地设置框的边框粗细,您可以在任意旋转时获得您想要的任意形状三角形。很难弄清楚,而且我手边没有代码,但这是可能的。

您可以将三角形相互嵌套(看示例图片,我注意到它完全由三角形组成,内部三角形是外部三角形的倒置嵌套)所以我认为这是完全可能的,尽管数学可能会有点在定位方面很棘手,如果您需要图表灵活(三角形和大小的任意数量)。

【讨论】:

这是一个值得选择的选项,但我只会在我试图避免使用 JavaScript 并将其保持为纯 HTML/CSS(加上服务器端语言来做边界数学)时才使用它。一旦你不得不使用 JavaScript,你还不如只使用 Raphaël 之类的库。 另一种制作三角形的方法是使用线性 css 渐变(但不确定浏览器是否支持):jlongster.com/s/dom3d

以上是关于UI设计是啥?的主要内容,如果未能解决你的问题,请参考以下文章

ui是啥意思啊?

ui设计学习内容都是啥?

UI设计和UE/UX设计有啥区别?它们的晋升路径是啥?

为 Google Android 设计应用程序的最佳 UI Java 标记语言是啥? [关闭]

unity 游戏设计里面的UI和GUI是啥意思,有区别吗

UI培训具体课程是啥?