图解C#安装包制作相关步骤
- 格式:doc
- 大小:268.50 KB
- 文档页数:6
总结+HTML5新增标签目录:12345678分享2014-4-1 HTML5上课笔记1)边框① border-colors相关属性border-top-colors border-right-colors border-bottom-colors border-left-colors② border-image :stretch 拉伸方式来填充边框背景图|repeat 平铺图片碰到边界时超出截断 |round 平铺,图片会工具边框的尺寸动态调整图片大小直至刚好铺满整个边框<style>.wrap {height: 100px;width: 100px;border: 20px solid;/*border-image:url('border-image.png') 30 30 repeated;简写形式*/border-image: url('border-image2.png')repeat;border-image-slice:30 30;text-align: center;}</style>③ border-radius 相关属性border-radius: 1-4 length | % / 1border-radius数值为合模型的一半就变成圆,记住:不是相对于合模型的width(如:965x1611),而是整个框才是<style>.wrap {height: 500px;width: 500px;border: 50px solid;border-radius:250px;}</style>结果就显示的不是正圆,所以border-radius:300px; 才能显示正圆,加上border的值'/'前面表示水平方向,后面表示垂直方向。
每个方向都可以用1~4个值,缩写的规则遵循“左上开始,顺时针旋转/只能写一个2)阴影1.文本阴影 text-shadow(不需要判断浏览器)text-shadow:2px 3px 2px #000;文字阴影的结构是按照以下顺序:X--偏移,Y--偏移,模糊,和颜色;text-shadow:-2px -3px 2px rgba(0, 118, 160, .25);设置为负值,X -偏移阴影转移到左侧。
CSS3——3D旋转图(跑马灯效果图)CSS3新增了很多新的属性,可以⽤很少的代码实现炫酷的动画效果,但由于兼容性各浏览器的能⼒存在不⾜,有特别需求的⽹站就呵呵啦。
H5C3已是⼤势所趋了,之前看过⼀个新闻,Chrome将在年底全⾯转向H5,抛弃了Flash。
本案例主要使⽤了CSS3中的变换transform和动画animation属性,实现了跑马灯效果,详细的解释在代码中的注释中。
做好布局之后的效果图 添加了animation样式,实现⾃动旋转,并且⿏标移⼊,停⽌动画。
(⿏标移⼊,绕Z轴旋转90度)代码:1<!DOCTYPE html>2<html lang="en">3<head>4<meta charset="UTF-8">5<title>3D旋转</title>6<script src='jquery-3.0.0.min.js'></script>7<style>8 * {9 margin: 0;10 padding: 0;11 }12 .container {13/*指定观察者与平⾯的距离,使有透视效果*/14/*若⽆法正常3d效果,将perspective属性提到更上⼀个⽗容器即可(此处已上提,从items-->container)*/15 perspective: 1000px;16/*让container的伪类有过渡效果--51-54⾏*/17/*transition: all 1s;*/18 }19 .items {20 width: 200px;21 height: 200px;22 border: 1px solid #c18;23 margin: 200px auto;24/*指定⼦元素定位在三维空间内*/25 transform-style: preserve-3d;26/*让所有item的⽗级元素(即items)旋转,item就是围绕着旋转了*/27 animation: autoMove 10s infinite linear;2829 }30 .item {31 width: 200px;32 height: 200px;33 background-color: skyblue;34 opacity: .6;35 font-size: 200px;36 line-height: 200px;37 text-align: center;38 position: absolute;39 }40/*定义⾃动旋转的动画*/41 @keyframes autoMove {42 from { }43 to {44 transform: rotateY(-360deg);45 }46 }47 .items:hover {48/*⿏标移⼊暂停动画*/49 animation-play-state: paused;50 }51 .container:hover {52/*⿏标移⼊,绕Z轴旋转90deg*/53/*transform: rotateZ(90deg);*/54 }55</style>56<script>57 $(function () {58var itemNum = $(".container .items .item").length;//要旋转的div的数量59var itemDeg = 360 / itemNum;//计算平均偏移⾓度,后⾯的itemDeg*index是不同索引div的偏移⾓度60 $(".items>.item").each(function (index, element) {61 $(element).css({62//给每⼀个item设置好位置63//rotateY让每⼀个item绕着Y轴偏移,itemDeg*index是不同索引div的偏移⾓度64//translateZ是控制item在⾓度偏移后,往他们的正上⽅移动的距离,数值越⼤旋转的范围越⼤65 transform: "rotateY(" + itemDeg * index + "deg) translateZ(280px)"66 });67 });68 });69</script>70</head>71<body>72<div class="container">73<div class="items">74<!--简便起见,⽤背景⾊和数字代替图⽚-->75<div class="item">1</div>76<div class="item">2</div>77<div class="item">3</div>78<div class="item">4</div>79<div class="item">5</div>80<div class="item">6</div>81</div>82</div>83</body>84</html>。
css3选择题使用方法详解css3选择题使用方法详解一通用选择器1 *{}通配选择符(CSS2):适合所有元素对象。
2 E类型(HTML)选择符(CSS1):以文档语言对象类型DOM作为选择符。
3 E#myid是id选择符(CSS1):以唯一标识符id属性等于myid 的E对象作为选择符。
4 E.myclass是类class选择符(CSS1):以class属性包含myclass 的E对象作为选择符。
5 E F:包含选择符(CSS1):选择所有被E元素包含的F元素。
CSS3新增的通用选择器:同级元素通用选择器:1 通用选择器E~F{}:匹配的是E元素之后的同级F元素匹配E后边所有的F,EF同级。
只要F在E的后边,E只是作为一个参考。
E~F { background:#ff0; }2 临近(相邻)选择器(css2):E+F{}:EF元素相邻,即选择紧贴在E 元素之后F元素。
3 包含(子)选择器(css2):E>F{}:EF不可以隔代,E只能匹配到下一个相邻辈F。
二属性选择器1.E[att^="val"]:选择具有att属性且属性值为以val开头的字符串的E元素。
2.E[att$="val"]:选择具有att属性且属性值为以val结尾的字符串的E元素。
3.E[att*="val"]:选择具有att属性且属性值为包含val的字符串的E元素。
4.E[att|="val"] 选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素。
5.E[att] 选择具有att属性的E元素。
6.E[att="val"]选择具有att属性且属性值等于val的E元素。
7.E[att~="val"]选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素。
CSS3布局技术详解随着移动设备的普及,现代网页设计越来越注重简洁、响应式和高效的布局。
CSS3布局技术的出现,为网页设计师提供了更多的选择和创意。
一、Flexbox布局Flexbox布局是CSS3布局技术中的一种,它基于flex容器和flex子元素的概念,在水平和垂直方向上轻松控制布局。
其中,flex容器是一个包含flex子元素的容器,它使用display:flex或display:inline-flex来定义。
flex子元素则是包含在flex容器中的元素,它们可以根据容器的设置,自动伸缩和对齐。
Flexbox布局的最大优点就是能够轻松地创建响应式布局,而不需要媒体查询、JavaScript 或其他 hack 方式。
二、Grid布局CSS Grid Layout 是一个基于网格的布局系统,为开发者提供了一种基于列和行的布局方法。
CSS Grid Layout使得创建网格布局变得简单、灵活和强大,使得开发者可以更好地控制父容器中子元素的位置和大小。
CSS Grid Layout可以实现更加自由的位置控制,将子元素从容器的一侧固定到另一侧,添加间隔和缩放等。
与 Flexbox 布局不同的是,CSS Grid Layout 可以同时定义行和列的大小关系。
三、多列布局多列布局是指在同一个容器内的内容分隔成多列。
多列布局支持CSS2中的column-width和CSS3中的column-count两种方式。
其中column-width用于定义每列的宽度,而column-count则定义每个容器中的列数。
多列布局可以用于展示多篇文章、图片、广告等内容,具有很高的可读性和美学价值。
四、变量布局CSS3还引入了自定义属性(CSS变量),可以在规则中定义一组属性值,然后在声明的时候通过变量来引用这组属性值。
这就使得更改多个属性变得更加容易,同时减少了重复代码的使用。
通过使用变量布局,网页开发者可以将话题的属性放到一个地方进行维护,而不是在整个样式表中定义多次。
css3--弹性盒⼦布局弹性盒⼦定义:弹性盒⼦是 CSS3 的⼀种新的布局模式。
CSS3 弹性盒( Flexible Box 或 flexbox),是⼀种当页⾯需要适应不同的屏幕⼤⼩以及设备类型时确保元素拥有恰当的⾏为的布局⽅式。
引⼊弹性盒布局模型的⽬的是提供⼀种更加有效的⽅式来对⼀个容器中的⼦元素进⾏排列、对齐和分配空⽩空间。
(1)、弹性盒⼦内容弹性盒⼦由弹性容器(Flex container)和弹性⼦元素(Flex item)组成。
弹性容器通过设置 display 属性的值为 flex 或 inline-flex将其定义为弹性容器。
弹性容器内包含了⼀个或多个弹性⼦元素。
注意:弹性容器外及弹性⼦元素内是正常渲染的。
弹性盒⼦只定义了弹性⼦元素如何在弹性容器内布局。
弹性⼦元素通常在弹性盒⼦内⼀⾏显⽰。
默认情况每个容器只有⼀⾏。
如果我们设置 direction 属性为 rtl (right-to-left),弹性⼦元素的排列⽅式也会改变,页⾯布局也跟着改变属性值:弹性盒⼦(重中之重)给⽗元素加上 display: flex; 兼容性写法 display: -webkit-flex;⽗元素中的块元素就会⾃动排列,不⽤加float:left;给⽗元素添加的属性:属性⼀:flex-wrap: wrap; 换⾏flex-wrap 属性⽤于指定弹性盒⼦的⼦元素换⾏⽅式。
各个值解析:nowrap - 默认,弹性容器为单⾏。
该情况下弹性⼦项可能会溢出容器。
wrap - 弹性容器为多⾏。
该情况下弹性⼦项溢出的部分会被放置到新⾏,⼦项内部会发⽣断⾏wrap-reverse -反转 wrap 排列。
属性⼆:flex-direction 属性flex-direction 属性指定了弹性⼦元素在⽗容器中的位置。
flex-direction的值有:row:横向从左到右排列(左对齐),默认的排列⽅式。
row-reverse:反转横向排列(右对齐,从后往前排,最后⼀项排在最前⾯。
CSS3选择器——属性选择器、关系选择器、结构化伪类选择器、伪元素选择器、伪链接属性选择器 属性选择器可以根据元素的属性及属性值来选择元素。
CSS3中新增了 3 种属性选择器:E[att^=value]、E[att$=value] 和 E[att*=value]1.E[att^=value] 属性选择器 E[att^=value] 属性选择器是指选择名称为 E 的标记,且该标记定义了 att 属性,att 属性值包含前缀为 value 的⼦字符串。
其中 E 是可以省略的,如果省略则表⽰可以匹配满⾜条件的任意元素。
如:div[id^=section] 表⽰匹配包含 id 属性,且 id 属性值是以 “section” 字符串开头的 div 元素。
2.E[att$=value] 属性选择器 E[att$=value] 属性选择器是指选择器名称为 E 的标记,且该选择器定义了 att 属性,att 属性值包含后缀为 value 的⼦字符串。
与E[att$=value]选择器⼀样,E元素可以省略,如果省略则表⽰可以匹配满⾜条件的任意元素。
如:div[id$=section]表⽰匹配包含 id 属性,且 id 属性值是以 “section” 结尾的 div 元素。
3.E[att*=value] 属性选择器 E[att*=value] 选择器⽤于选择名为 E 的标记,且该标记定义了 att 属性,att 属性值包含 value ⼦字符串,该选择器与前两个选择器⼀样,E 元素也可以省略,如果省略则表⽰可以匹配满⾜条件的任意元素。
如:div[id*=section] 表⽰匹配包含 id 属性,且 id 属性包含 “section” 字符串的 div 元素。
关系选择器 CSS3中的关系选择器主要包括⼦代选择器和兄弟选择器,其中⼦代选择器由符号 “>” 连接,兄弟选择器由符号 “+”和 “~” 连接。
1.⼦代选择器(>) ⼦代选择器主要⽤来选择某个元素的第⼀级⼦元素,如希望选择只作为 h1 元素⼦元素的 strong 元素,可以写为:h1 > strong。
图解C#安装包制作相关步骤
Windows Installer的特性
◆和传统的基于脚本的安装工具对比,它基于一个数据驱动的模型,在单个包内提供所有的安装数据和指令
◆它支持自修复功能--程序可以自动重新安装
◆它提供安装时回退到某一步骤的功能
创建发布工程
Visual 里提供了四种类型发布工程的模板:
◆安装工程:为基于windows的应用程序建立安装包
◆合并模块工程(.msm):可以被多个程序共享的包组件
◆Web安装工程:为一个web应用程序建立安装包
◆Cab工程(.cab):创建cab文件
与此同时,安装向导也提供了伴随创建发布工程的过程中的帮助步骤:
◆对于一个安装工程,将把需要安装的文件发布到目标计算机的一个程序目录下
◆对于一个Web安装工程,将把需要安装的文件发布到Web服务器的一个虚拟目录下
注意:如果你创建了一个标准发布工程,后来打算发布它到Web上,你必须重新创建一个新工程。
五步制作程序安装包
C#安装包制作第一步:打开VS IDE,选择File->New->Setup and Deployment Projects. 选择Setup Wizard。
给出存储工程的文件名和存放目录。
如图1所示。
图1 Setup Wizard
C#安装包制作第二步:这里将会显示安装工程向导的对话框的欢迎界面。
这是一个简单的四步向导,点击Next,第二步将会询问安装的类型,请选择合适的回答,这里我选择windows应用程序的安装,点击Next。
图2 选择windows应用程序的安装
C#安装包制作第三步:这里向导将会让你添加开发的程序或者组件,以及其他一些所需要的文件,如文档文件等。
图3 添加开发的程序或者组件
图4 添加开发的程序或者组件最后,你会看到如图5所示的内容:
图5 应用程序文件夹是你的程序和支持文件的安装文件夹
这里,应用程序文件夹是你的程序和支持文件的安装文件夹,而用户的桌面和程序菜单分别是目标系统的桌面和程序菜单。
C#安装包制作第四步:
你可以在制作过程中选择使用如下的编辑器:
文件系统编辑器:可以增加工程的输出,文件和其他一些项到发布工程中,并且指定它们在目标计算机上的安装位置。
注册表设置管理编辑器:可以指定需要加入到目标计算机的注册表中的一些键值。
文件类型管理编辑器:建立目标计算机上的文件关联。
定制处理管理编辑器:可以指定在安装后执行的一些处理(如重启)等。
启动条件管理编辑器:可以为成功完成一次安装指定必须满足的一些条件。
用户界面管理编辑器:你可以用它来设置安装过程中显示的一些预定义的对话框,图7显示了增加一个用户许可证协议和序列号对话框的例子。
图6 设置安装过程中显示的一些预定义的对话框
图7 设置安装过程中显示的一些预定义的对话框
C#安装包制作结束语
如果你还在使用传统的安装脚本程序的话,来试试使用Windows Installer吧。
如果你购买了正版的Visual ,那么它本身就附带提供了Windows Installer。
现在是你熟悉和使用它的时候了。