【Summary】——>Web组·Week8

2017年5月28日,在Web组的第八周正式结束,这周主要任务为CSS3的学习,刚开始在慕课网上找的有关CSS3的教程,这周完成的任务是利用hover实现图片动态效果、设置animation动画、利用CSS3和JS的结合实现图片卡片式翻转。

利用hover实现动态效果:

1.运用到HTML5标签figure、figcaption实现图文并茂效果(图片、标题[、简单描述]):

figure标签规定独立的流内容(图像、图表、照片、代码等等)。figure 元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。

2.利用位移移动与过渡时间实现动画的效果(+hover);

3.利用伪类选择器对相同标签不同位置的部分实现动画延迟,使得效果更舒适

Codes:

 

figure{
	position: relative;
	width: 450px;
	overflow: hidden;
	height: 480px;
	display: inline-block;
	float: left;
}
figure img{
	opacity: 0.8;transition: all 0.35s;
	width: 100%;
}
figure figcaption p,h2{transition: all 0.35s}
.test1 figcaption p{
font-size: 15px;
color: white;
background-color: black;
font-weight: bold;
margin:6px;
text-align: center;
transform: translate(-180px,0px);
}
.test1 figcaption p:nth-of-type(1){/*第一个p标签*/
	transition-delay: 0.05s;
	position: absolute;
	top: 230px;
}
.test1 figcaption p:nth-of-type(2){
	transition-delay: 0.1s;
	position: absolute;
	top:320px;
	left: 15px;
}
.test1 figcaption p:nth-of-type(3){
	transition-delay: 0.15s;
	position: absolute;
	top: 80px;
	left: 0;
}
.test1 figcaption p:nth-of-type(4){
	transition-delay: 0.25s;
	position: absolute;
	left: 55px;
	top: 40px;
}
.test1 figcaption{padding: 20px;}
.test1:hover figcaption p{transform: translate(0px,0px);}
.test1:hover img{transform: translate(-30px,0px);opacity: 0.5}

设置animation动画:

 

1.通过animation设置动画的属性,通过百分比可以实现元素的在不同时间段的位置。

Codes:

 

.pic{
	width: 300px;
	height: 200px;
	animation: anim 20s;
	-webkit-animation:anim 20s infinite alternate;
	position: relative;
	display: inline-block;
}
@keyframes anim{
	0%{right:0;bottom: 0 }
	100%{right:600px;bottom:0; }
}

图片卡片式翻转效果:

 

1.div层的设置比较复杂,弄清楚层次以及层次的作用是实现此动画效果的首要要求:

每张图片以photo转载,photo有前后两面(photo_front和photo_back),通过onclick时间引入JS函数,实现对photo的css样式(前、后面)的转换,接着设一层photo-wrap,实现对“卡片”翻面的视觉效果,再就是side层次(side-front和side-back),分别存放前后面的显示的内容,

2.注意点:需要支持3d效果,翻面时另一面的内容应该隐藏;

3.JS部分:从字符串的角度获取CSS样式名,并用string相关对象对样式进行修改。

Codes:

 

<div class="number">
	<div class="photo  photo_front" onClick="turn(this)">
		<!--phtot-wrap负责翻转-->
		<div class="photo-wrap">
			<div class="side side-front">
				<p class="image"><img src="img/a2.jpg"></p>
				<p class="caption">Fatima Sana Shaikh</p>
			</div>
			<div class="side side-back">
				<p class="desc">caption</p>
			</div>
		</div>
	</div>
</div>
<script type="text/javascript">
//1.翻面控制
	function turn(elem){
		var cls=elem.className;
		if (/photo_front/.test(cls)) {
			cls=cls.replace(/photo_front/,'photo_back')
		}else{
			cls=cls.replace(/photo_back/,'photo_front')
		}
		return elem.className=cls;
	}
</script>	<!--phtot-wrap负责翻转-->
		<div class="photo-wrap">
			<div class="side side-front">
				<p class="image"><img src="img/a2.jpg"></p>
				<p class="caption">Fatima Sana Shaikh</p>
			</div>
			<div class="side side-back">
				<p class="desc">caption</p>
			</div>
		</div>
	</div>
</div>
<script type="text/javascript">
//1.翻面控制
	function turn(elem){
		var cls=elem.className;
		if (/photo_front/.test(cls)) {
			cls=cls.replace(/photo_front/,'photo_back')
		}else{
			cls=cls.replace(/photo_back/,'photo_front')
		}
		return elem.className=cls;
	}
</script>

不足部分:虽然实现了各个效果,但是部分知识点还只是零碎式运用,需要抽取时间对其系统了解,并且在学习后并不能独立的再次编写,还需重复练习与学习,加油啦!

 

### C# 中 `summary` 标签的用法 在 C# 的 XML 文档注释中,`<summary>` 标签用于描述类、方法、属性或其他成员的功能。它提供了对公共 API 成员的简要说明,这些说明可以通过 IntelliSense 显示给开发者,并可以生成为文档文件以便于分享和阅读。 以下是 `<summary>` 标签的一些关键特性: - 它通常位于代码中的每个公开可见的成员上方。 - 使用三斜杠 (`///`) 开始每一行注释[^1]。 - 可以包含简单的文本描述,也可以嵌入其他标签来增强功能,比如链接到其他成员或提供示例代码。 #### 示例代码展示 下面是一个完整的例子,展示了如何使用 `<summary>` 标签以及一些辅助标签(如 `<param>`, `<returns>` 和 `<example>`): ```csharp /// <summary> /// Represents a simple calculator class. /// </summary> public class Calculator { /// <summary> /// Adds two integers together and returns their sum. /// </summary> /// <param name="a">The first integer value.</param> /// <param name="b">The second integer value.</param> /// <returns>The result of adding both values.</returns> public int Add(int a, int b) { return a + b; } /// <summary> /// Subtracts one integer from another. /// </summary> /// <param name="minuend">The number being subtracted from.</param> /// <param name="subtrahend">The number to be subtracted.</param> /// <returns>The difference between minuend and subtrahend.</returns> /// <example> /// Example usage: /// <code> /// var calc = new Calculator(); /// Console.WriteLine(calc.Subtract(10, 3)); // Outputs: 7 /// </code> /// </example> public int Subtract(int minuend, int subtrahend) { return minuend - subtrahend; } } ``` 上述代码片段演示了如何通过 `<summary>` 提供清晰的方法用途解释,并利用 `<param>` 描述参数含义,而 `<returns>` 则明确了返回值的意义。 当启用 XML 注释并构建项目时,会自动生成一个 `.xml` 文件,该文件包含了所有带有 XML 注释的内容。此文件会被复制至目标项目的 `/bin` 目录下,从而支持跨程序集的 IntelliSense 功能。 此外,在处理复杂的 XML 数据结构时,还可以借助专门设计的工具库简化操作流程[^2]。例如,某些第三方工具可以帮助快速解析或者转换 XML 结构,甚至能够依据现有 XML 自动生成对应的 Go 或者其他语言的数据模型定义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值