- 《CSS 揭秘》案例dome
kingrome2009
css3动画css揭秘
本书是一本注重实践的教程,作者为我们揭示了47个鲜为人知的CSS技巧,主要内容包括背景与边框、形状、视觉效果、字体排印、用户体验、结构与布局、过渡与动画等。本书将带领读者循序渐进地探寻更优雅的解决方案,攻克每天都会遇到的各种网页样式难题。史上最全的实例建议不要买书因为电子版的更适合我们下载链接css揭秘pdfdomeDocument*{margin:0;padding:0;}body{backgr
- 前端开发CSS实用的技巧有哪些
程序员
前端开发作为软件开发的重要组成部分,在构建网页和应用程序时发挥着不可或缺的作用。作为前端开发人员,掌握良好的CSS技巧至关重要。CSS(层叠样式表)作为一种用于定义网页样式和布局的语言,对网页的外观和用户体验起着决定性的作用。在前端开发过程中,合理运用CSS页面修饰样式能够提高页面的性能和加载速度,并改善用户对网页的感知和交互体验。CSS技巧还能提升代码的可维护性和可扩展性,使得开发人员能够更加轻
- Day25-CSS常见布局技巧+CSS初始化
ian燃.
工坊打卡前端学习前端css
常见的布局技巧margin负值的应用让每个盒子margin往左侧移动-1px正好压住相邻盒子边框。2.鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果没有定位,则加相对定位(保留位置),如果有定位,则加z-index)。CSS技巧ulli{float:left;list-style:none;width:150px;height:200px;border:1pxsolidred;margin-
- 22个实用的CSS技巧
Dream_travelerly
csscss前端
想要让你的网站在激烈的竞争中脱颖而出吗?使用CSS的强大功能可以帮助你实现这一目标。本文将分享22个实用的CSS技巧,帮助你提升网站的外观和用户体验。无论你是一个新手还是有经验的开发者,这些技巧都将为你的网站注入新鲜的设计元素和动感效果。自定义字体:通过使用@font-face规则,你可以在网站中应用自定义字体,增加独特性和品牌识别度。选择适合你网站风格的字体,并确保它们能够正确加载和显示。渐变背
- 精通Playwright的元素定位和CSS技巧
acmakb
PlaywrightPlaywrightpython自动化软件测试
Playwright之元素定位:fromplaywright.sync_apiimportsync_playwrightp=sync_playwright().start()browser=p.chromium.launch(headless=False)#创建浏览器对象page=browser.new_page()page.goto("https://www.byhy.net/_files/st
- 【css技巧】css实现边框渐变
海鲸AI
css前端
海鲸AI-ChatGPT4.0国内站点,支持设计稿转代码:https://www.atalk-ai.com在CSS中实现边框渐变效果,你不能直接应用渐变到border属性上,因为CSS标准不支持这样的操作。但是,你可以使用一些技巧来模拟边框渐变的效果。以下是一些常用的方法:方法1:使用伪元素和background-image你可以为元素添加伪元素(如::before或::after),并在伪元素上
- 【css技巧】文本超出两行显示省略号
海鲸AI
css前端
ChatGPT4.0国内站点:海鲸AI你可以使用CSS的-webkit-line-clamp属性来实现文本超出两行显示省略号的效果。示例代码如下:.text-container{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;/*控
- 【css技巧】css设置文字不能被选中
海鲸AI
css前端
ChatGPT4.0国内站点:海鲸AI在CSS中,如果你想让文本内容不能被用户选中,可以使用user-select属性。这个属性可以控制用户是否能够选择文本。以下是如何使用这个属性的例子:.unselectable{-webkit-user-select:none;/*Safari3.1+*/-moz-user-select:none;/*Firefox2+*/-ms-user-select:no
- 十几个CSS高级常见技巧汇总(虚线框、三角形、优惠券卡券、滚动条、多行溢出...)...
前端开发博客
csshtmlproguardradiobuttoncharacter
大家好,我是漫步,今天来分享一些比较高级复杂的CSS技巧,都是我们平常常用的,或许对你有所帮助。设置input的placeholder的字体样式单行和多行文本超出省略号负边距使用技巧定位同时设置方位情况相邻兄弟选择器之常用场景outline属性的妙用技巧隐藏滚动条或更改滚动条样式纯CSS绘制三角形虚线框绘制技巧卡券效果制作隐藏文本的常用两种方法表格边框合并1-1.设置input的placehold
- 分享14 个非常实用的CSS技巧
前端达人
csscss3html前端javascript
英文|https://ishratumar.medium.com/14-awesome-css-properties-you-need-to-know-9cee5b364990翻译|杨小爱学习一些好的实用的CSS技巧,可以帮助我们提供工作效率。因此,今天这篇文章,我将跟大家分享一些很棒的CSS知识技巧,希望对你有用。好了,我们现在开始吧。1.CSS:in-range和:out-of-range伪类
- CSS技巧分享
思绪随想
CSScsscss3
转自:https://www.pinlue.com/article/2018/12/2301/047919701640.html
- CSS技巧分享:如何用css制作横排二级下拉菜单
亓丨心
htmlcss导航
导航菜单是每个网站所必备的功能,也是每个学习制作网站的朋友所必须接触的,如何用css样式制作一个简单漂亮的二级下拉菜单呢,下来小编就一步一步教大家来制作横排二级下拉菜单,让我共同来学习吧。首页我们打看dreamweaver或其它编辑器,创建一个名为nav的导航菜单栏目一栏目二栏目三栏目四栏目五如下图所示:CSS技巧分享:如何用css制作横排二级下拉菜单现在我们为nav添加样式,首先去掉默认的mar
- 【css技巧】分享
【南汐】前端
csscss前端
1.打字效果代码实现:有趣且实用的CSS小技巧.wrapper{height:100vh;display:flex;align-items:center;justify-content:center;}.typing-demo{width:22ch;animation:typing2ssteps(22),blink.5sstep-endinfinitealternate;white-space:n
- CSS技巧
霁璃风
技巧一:渐变色文字Gradienttext.gradient-text{background-image:linear-gradient(90deg,red,blue);background-clip:text;color:transparent;}效果:20200211144054.jpg技巧二:下划线动画效果Loremipsumdolorsitamet...beatae,quoiure...c
- gird 卡片布局
卡列尼娜翠花
HTML/CSS前端gridcss响应式布局javascript
场景一:单元格大小相等这承载了所有CSSGrid中最著名的片段,也是有史以来最伟大的CSS技巧之一:等宽网格响应式卡片实现.section-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;}解析grid-template-columns容器属性,设置表格有多少列。minma
- css星空动画,【css3进阶】less实现星空动画
酷毙的我啊
css星空动画
效果动图如下:预览链接和代码在我的codepen:https://codepen.io/lio-mengxiang/pen/YzKrEde知识点预览这篇文章的less技巧+css技巧知识点包括:less如何写循环less里如何使用js表达式css3属性:box-shadow如何生成成百上千的星星css3属性:background:radial-gradient径向渐变,如何生成渐变的背景色HTML
- 前端开发者们值得了解的 11 项前端技巧,收藏了
Javaesandyou
前端javascripthtmljava程序人生
不容错过的11项HTML/JS/CSS技巧。通过以下HTML/CSS/JavaScript相关技巧,希望能帮助大家填补一点点关于前端开发方面的知识空白。1.Datalist元素这项HTML元素的使用频率极低,今天我们就要为它正名!标签用于为元素提供一项“自动补全”功能。在键入过程中,您会看到如下图所示的预定义下拉菜单及选项。示例:列出的属性(参见上方粗体)必须等于的id,因为需要将二者捆绑使用。2
- div+CSS浏览器兼容问题整理(IE6.0、IE7.0 ,ie8 , FireFox...)
sdh_down
ie浏览器cssdivfirefoxhtml
CSS技巧1.div的垂直居中问题vertical-align:middle;将行距增加到和整个DIV一样高line-height:200px;然后插入文字,就垂直居中了。缺点是要控制内容不要换行poweredby25175.net2.margin加倍的问题设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inli
- div+CSS浏览器兼容问题整理(IE6.0、IE7.0 ,ie8 , FireFox..
名贤集
CSSie浏览器cssdivfirefoxhtml
CSS技巧1.div的垂直居中问题vertical-align:middle;将行距增加到和整个DIV一样高line-height:200px;然后插入文字,就垂直居中了。缺点是要控制内容不要换行poweredby25175.net2.margin加倍的问题设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inli
- CSS浏览器兼容问题
星哥真的太难了
CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE影响CSS处理,作为W3C的标准,一定要加DOCTYPE声名.CSS技巧1.div的垂直居中问题vertical-align:middle;将行距增加到和整个DIV一样高l
- 〖CSS技巧③〗动画性能优化
旋转前端皮塔牙
css性能优化css3
CSS动画属性在日常工作中很常用,带来的问题也是显而易见的,本文讲述了如何优化动画性能。文章目录1.动画简单调用示例1.1animation动画1.2transition过渡2.常见问题3.优化方法3.1使用GPU加速3.2减少使用触发"重布局"的属性3.3优先使用只触发“重绘”的属性3.4控制频繁动画的层级关系3.5合理布局,精简DOM1.动画简单调用示例CSS3的animation和trans
- CSS技巧
SoSalty
前端csshtml前端
目录1.引入外部字体2.svg修改:3.显示文字行数:4.局部滚动:5.background复合写法:6.less混入:手动:或者:自动加载目标less:7.~选择器:8.img、input和其他的单标签没有after和before伪元素:9.object-fit:9.:last-child、:last-of-type10.css让文字竖的排版的方法:11.页面滚动:12.自定义鼠标指针样式:13
- CSS小技巧之绘制心形图案
南城FE
前端CSS那些事css前端css3
本文翻译自CSSShapes:TheHeart,作者:TemaniAfif,略有删改。我们将使用CSS创建一个心形图案。你可能会说:“为什么又一篇关于心形的文章?已经做过很多了!“。我们不会只建立一个心形图案,我们会使用现代的CSS技巧来实现。忘记带有border-radius和rotation的伪元素。我们也将把图像转化为心形图案!使用CSS渐变第一种实现方法,我们将基于多个渐变来创建一个心形图
- uniapp快速入门系列(3)- CSS技巧与布局
疯狂小赤兔
uni-appcss前端
章节三:CSS技巧与布局1.uniapp中的样式编写2.常见布局技巧与实例解析2.1水平居中布局2.2垂直居中布局2.3等高布局2.4响应式布局3.CSS动画与过渡效果在uniapp中,我们使用CSS来设置页面的样式和布局。本章将介绍一些在uniapp中常用的CSS技巧和布局实例,帮助你更好地美化页面和实现各种布局效果。1.uniapp中的样式编写在uniapp中,我们可以在.vue文件中使用标签
- CSS技巧收集——毛玻璃效果(深入理解滤镜filter)
绿萝哥哥
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!原文链接:http://www.cnblogs.com/ghost-xyx/p/5677168.html先上demo和源码其实毛玻璃的模糊效果技术上比较简单,只是用到了css滤镜(filter)中的blur属性。
- css技巧题
卡农me
1.:nth-child(n):官方解释:选择器匹配属于其父元素的第N个子元素,不论元素的类型。但其实是如,p:nth-child(n)匹配p的父元素的第N个子元素,且子元素为p第几个p标签背景是红色
- 如何提升你的CSS技能,掌握这20个css技巧即可[完整版]
慕尚花开
前言随着前端开发越来越关注效率:通过选择器的使用和简化代码来快速加载渲染。像Less、SCSS这样的预处理器在工作的时候,需要绕的路较长,而直接使用css速度会更快。这里涵盖了20个css技巧来帮助你减少重复规则和复写,在布局中标准化样式流程,不仅可以帮助你高效地创建自己的框架,而且可以解决许多常见的问题。1、使用CSS重置(reset)css重置库如normalize.css已经被使用很多年了,
- 02 CSS技巧
Bunny0212
CSS技巧css前端
02CSS技巧clip-path自定义形状,或者使用自带的属性画圆等circleHTML结构CSS结构使用*polygon*自定义形状.container{width:300px;height:300px;background-color:rebeccapurple;/*clip-path:polygon(13%22%,11%59%,54%71%,12%54%);*/clip-path:circl
- [uni-app] scroll-view中吸顶的简单做法 - overflow-y: auto;
iOSTianNan
uni-app
记录一个css技巧overflow-y:auto;效果这是吸顶view这是滚动view要实现scroll内部,.top吸顶,.content内容上下滚动的效果,只要在.content添加overflow-y:auto;.content{overflow-y:auto;}overflow-y官网描述
- CSS揭破实用窍门总结
HDX柿子
感谢平台分享-http://bjbsair.com/2020-04-10/tech-info/53257.html《css揭秘》中讲了47个css技巧,其中有很多日常编码中并不会用到,本文除了将书中部分实用技巧罗列出来之外,还尝试用帮助读者搞明白background、animation等常用但是却掌握不牢固的知识点。所以阅读本文不仅可以学习一些实用技巧,也可以巩固自己的css基础知识。实用小技巧D
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
- 【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
- 自动补全
huyana_town
自动补全
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo
- jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
- ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
- 利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
- Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
- hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul