Canvas做的圆角窗口(有阴影)
传统的写圆角方式主要有两种方法,一种是图片做背景图、另一种是用很多个不同透明度或者明暗不同的像素点围成一个圆角。第一种的话比较容易实现,但需要切图;第二种网上主要有以下这几个做得很不错的:
1. Curvycorners www.curvycorners.net
2. Nifty Corners http://pro.html.it/esempio/nifty/
3. anti-aliased-nifty-corners http://www.acko.net/anti-aliased-nifty-corners
4. rounded-corners http://seky.nahory.net/2005/04/rounded-corners/
5. rounded_corners http://www.editsite.net/blog/rounded_corners.html
第5个是综合前面几个的结晶。
最近在写一套web UI组件http://kingkit.iteye.com/admin/blogs/462880,做到窗口的时候在想,有没另外的方法来实现圆角呢?既不用图片也不用一个1像素的DIV来拼。后来找资料时发现用HTML5的元素canvas可以画图,另外还有个mootools的UI框架也是用同样的方式实现的,所以翻了下资料后自己也动手做了一下,大家看这种方法会不会比图片和拼像素的实现方法好呢?
最终做出来的效果如图(附demo):
注:Drag类是从网上拿来的,作者好像是cloudgamer
调用:
var width = 500;
var height = 250;
var radius = [5,5,5,5];//圆角半径:左上,左下,右下,右上
var title = "KUI web组件之容器";
var content = "s圆角半径:左上,左s圆角半径:左上,";
window.onload = function(){
//var d = new Container(title, content, width, height, radius, shadowBlur);
var d = new Container(title, content, width, height, radius);
document.getElementById('openBtn').onclick = function(){
d.show();
}
document.getElementById('closeBtn').onclick = function(){
d.hide();
}
var drag = new Drag("container", { mxContainer: "con", Handle: "titleBar", Limit: true,
onStart: function(){ $("idShow").innerHTML = "开始拖放"; },
onMove: function(){ $("idShow").innerHTML = "left:"+this.Drag.offsetLeft+";top:"+this.Drag.offsetTop; },
onStop: function(){ $("idShow").innerHTML = "结束拖放"; }
});
}
- 大小: 28.6 KB
- 大小: 27.7 KB
- 大小: 27.8 KB
- 大小: 27.8 KB
分享到:
相关推荐
3. **阴影效果**:为了增加立体感,窗口可能带有阴影,JavaScript库如jQuery UI或自定义的阴影插件可以帮助实现这一效果。 4. **动画过渡**:Vista窗口的打开和关闭往往伴随着平滑的动画过渡,这需要JavaScript的...
在设计方面,为了实现精美的视觉效果,开发者可能运用了CSS3的新特性,如动画(animation)、过渡(transition)以及阴影(box-shadow)、圆角(border-radius)等,为聊天窗口增添动态和立体感。此外,响应式设计...
在这个项目中,CSS3的气泡样式可以使用伪元素(`:before`和`:after`)配合`border-radius`和`box-shadow`属性来创建,这些属性能实现圆角和阴影效果,使得消息气泡看起来更加立体。`transition`属性用于平滑地改变...
在仿微信聊天界面中,CSS3用于美化界面,如圆角边框、阴影、渐变色、过渡效果和动画。例如,使用Flexbox或Grid布局可以实现灵活的界面布局,而`@keyframes`规则则可创建自定义动画。 3. **JavaScript**: JavaScript...
在Flex中实现VistaBlue风格,可能包括使用类似Aero Glass的半透明效果、圆角、动态阴影以及Vista默认的图标和按钮样式。 4. **Flex组件库** Flex提供了丰富的组件库,如Button、Canvas、Accordion、TabBar等,这些...
日历的美化可能涉及到CSS3的阴影、渐变、圆角等特性。 5. **防刷新的导航菜单**: 防止用户滚动页面时导航栏随着页面一起移动,常使用固定定位(fixed positioning)使导航栏始终显示在屏幕顶部,确保用户能快速...
`drawRoundedRect()`用于绘制带有圆角的气泡,`drawText()`则用于在气泡内显示聊天内容。 为了实现聊天框的气泡效果,可以使用`QPainterPath`来绘制更复杂的形状,比如包含箭头指向的气泡。首先创建一个路径,然后...
例如,模仿QQ2011的气泡聊天窗口,我们需要使用TPaintBox组件,并在它的OnPaint事件中使用Canvas对象绘制出圆角矩形和阴影效果,实现类似气泡的视觉效果。 再者,实现QQ2011的动态效果,如按钮按下、鼠标悬停等,...
然而,不规则窗体布局允许开发者创建具有任意形状的窗口,如带有圆角、剪裁图像或完全自定义形状的窗口。这种布局方式常用于提供独特的用户界面体验,增强应用程序的视觉吸引力。 在WPF中,实现不规则窗体布局主要...
- sessionStorage:数据只在当前浏览器窗口有效,关闭后删除,存储大小较大。 - localStorage:持久存储,浏览器关闭后数据仍保留,除非手动删除,存储大小同样较大。 4. 为何HTML5只需写`<!DOCTYPE HTML>`? 因为...
它提供了丰富的样式和动画效果,如阴影、渐变、圆角、变形等,使得棋盘和棋子的外观更加精美。同时,CSS3的媒体查询(media queries)特性可以确保游戏在不同设备和屏幕尺寸上都能正常显示,适应移动设备的需求。 ...
在Web桌面程序中,CSS3可用于创建窗口边框效果、阴影、圆角以及自适应布局。 4. **.NET框架**: .NET框架提供了开发Web应用的全面解决方案,包括ASP.NET(用于Web应用程序)、Windows Forms(用于桌面应用程序)等。...
使用CSS3,我们可以添加更多的动态效果,如阴影、圆角、过渡和动画,使得对话框更具吸引力。 JavaScript是网页的脚本语言,负责增加交互性。在这个例子中,JavaScript(通过jQuery库)实现了对话框的拖拽功能。这...
3. **阴影和高光**:为了增加立体感,Apple图标常常有微妙的阴影和高光。WPF中的`DropShadowEffect`和`BitmapEffect`类可以帮助我们添加阴影,而通过调整形状的透明度或颜色亮度,可以实现高光效果。 4. **图标组合...
自定义翻书效果需要用到2D图形库,如OpenGL ES或Canvas,它们允许开发者直接操作像素来创建复杂的视觉效果。 2. 视觉欺骗:翻书效果是通过模拟纸张边缘的透视变化和阴影效果,以及页面的物理运动,来达到逼真的翻页...
在实现这样的界面时,开发者可能使用了CSS3来增强视觉效果,例如阴影、圆角、渐变和过渡效果。同时,HTML5的新特性也可能被用来构建更加结构化的界面元素,比如canvas用于绘制图形,web storage用于本地数据存储,...
- **阴影效果(Box Shadow)**:为元素添加阴影,提升立体感,可能用于聊天窗口或者按钮等元素。 - **背景平铺(Background Repeat)**:实现背景图片的重复或非重复显示,增加界面美观度。 - **媒体查询(Media ...
5. 阴影区域考虑在内,div的宽度应减去`border`和`padding`,所以是`300px - 2 * 1px - 2 * 50px = 248px`。 6. `transition`属性配合其他CSS属性实现动画效果。 **简答题知识点**: 1. 标准的HTML5页面结构包括`...
在CSS3中,我们可以通过一系列的样式规则来改变文本的外观,使其看起来像浮出页面或者有深度感。这些效果不仅增加了网页的视觉吸引力,还能在用户交互时提供反馈,提升用户体验。 描述中提到“附件提供了8种特殊...
例如,设置控件背景为半透明,按钮和窗口边框使用圆角,以及添加微妙的光影效果。 2. **控件仿制** WPF 提供了多种内置控件,如`Button`, `Label`, `TabControl`等,我们可以根据Win7的界面元素进行定制。例如,...