定义表格
定义表格行
定义表格表头,内容居中加粗
定义表格单元
定义表格标题,在表格上面内容相对于居中
定义表格列的组
用于表格的属性
定义表格的页眉
定义表格的主体
定义表格的页脚,一般总结
属性:
width = “100px”
border = “1px”
cellspacing = “0”
cellpadding = “0”
align = “left/center/right”
colspan = “7”
rowspan = “4”
border-collapse: collapse; 在table里面设置这个合并单元格
"password"密码输入框
“button” 按钮
“submit” 提交按钮
“reset” 重置按钮
"“file” 文件框
"radio"单选框
“checkbox” 复选框
“image” 图像形式的按钮组,必须有src
“email” 限制用户输入必须为Email类型(H5)
“url” 限制用户输入必须为url类型(H5)
"date"限制用户输入必须为time类型(H5)
"month"限制用户输入必须为月类型(H5)
"week"限制用户输入必须为周类型(H5)
"number"限制用户输入必须为数字类型(H5)
“tel” 限制用户输入必须为手机号码类型(H5)
“search” 搜索框(H5)
"color"生成颜色表单(H5)
name 属性(自定义名称),用于区分表单,后台使用
value 在按钮上显示文字或者输入框的内容
checked 默认选择,单选按钮和复选按钮有
size input默认在页面中显示的长度
maxlength允许控件输入最多的字符
required: required; 表单的属性不能为空,必填(H5)
enctype: multipart/form-data; 将表单数据编写成二进制形式,用户上传图片之类
placeholder: 提示文本(占位符); 表单的提示信息,存在默认值将不显示(H5)
autofocus: autofocus; 自动聚焦属性,页面加载完成自动聚焦到表单(H5)
autocomplete当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项,需要在表单内同时加上name属性,同时提交成功(H5)
multiple: multiple可以多选文件提交(H5)
: 点击文本就会触发表单,比input改进
: 包含一组相关的表单元素,并使用边框包起来
: 定义一个 标题
: 定义下拉列表
: 定义下拉列表标题(不可选)
:定义下拉列表标题的子元素(可选)
**实例:**06表单demo01
4.14 HTML框架
4.14.1 结构框架
可以拖动边框来改变大小。避免这种情况发生,可以在 标签中加入:noresize=“noresize”。 不能将
标签与 标签同时使用!不过,假如你添加包含一段文本的 标签,就必须将这段文字嵌套于 标签内
注意: 07结构框架demo01
4.14.2 内联框架
注意: 08内联框架demo01,里面有一点注意事项,建议看一下
5. CSS
5.1 CSS概念
CSS(Cascading Style Sheet):通常称为CSS样式表"层叠样式表"或"级联样式表",是一组格式设置规则,核心优势是可以为文档中某种类型的元素全部应用相同的规则
5.2 CSS书写位置
外部样式
style type=“text/css”> @import url(mystyle.css);
内部样式(内嵌样式表)
HTML5中type="text/css"可以省略
style标签可以放在任何一个地方,建议放在head里面,title之下
行内样式
5.3 CSS选择器
CSS选择器
* 通用选择器: 会匹配页面所有的元素,降低页面的响应速度,不建议随便使用
div 标签选择器(派生选择器)
# id选择器
. 类选择器,可以多写
[] 属性选择器(CSS2)
E[att] 属性选择器 --> E标签(元素), att 标签行内块里面的的属性
E[att = “val”] 选择器具有att属性且属性值等于val的E元素
E[att |= “val”] 选择元素有att属性,值以val或val-开头的元素
E[att ~= “val”] 选择元素有att属性,其中以空格分隔val,例:att=“one val"或者"val one”
E[att ^= “val”] 匹配具有att属性,且值以val开头的E元素
E[att $= “val”] 匹配具有att属性,且值以val结尾的E元素
E[att *= “val”] 匹配具有att属性,且值中含有val的E元素
E[att $= “val” i] 匹配元素不区分大小写,在结束方括号前加i个
注意: 类选择器名是可以重复的,ID选择器的名字不能重复
CSS 优先级与权重值,最高权重,在属性值的后面添加!important
行内样式(1000) > ID选择器(100) > 类选择器(10) = 属性选择器(10) = 伪类选择器(10) > 伪元素 = 标签选择器(1) > 通用选择器(0)
选择器选择的范围越小越精确,优先级越高
**实例:**09基本选择器demo01.html
5.4 选择符
后代选择符: 父类 子类{};
例: h1 em{} --> h1标签下的所有em标签,没有距离可言,对孙子元素及以下都起作用
子元素选择符: 父类>子类{};
例: h1>em{} --> h1标签第一层级子元素em的所有标签,对孙子及以下不起作用
兄弟选择符:ul + ol {}; 同一级必须相邻元素,生效的是后面的弟弟元素ol
同胞连接符: h1 ~ h2{ } h1后面的所有h2元素全生效,只限于同级
5.5 伪类选择符
: root 选择根元素
: empty 空选择标签
没有任何子代标签,文本节点,空格,换行符,里面可以是注释,对img,input,textarea也生效
: only-child 唯一子代标签(可以是后代),选择的那个后代元素必须是父类独生子
p span:only-child{} -->p标签里面的只能有一个span标签,其他标签都不行,span必须我是独生子
only-of-type 表示父元素有很多子元素,而且在子元素里面其中有一个是唯一的
: first-child 选择父元素(同胞)中第一个子元素,不可以指定类型
: last-child 选择父元素(同胞)中最后一个子元素,不可以指定类型
:first-child:last-child{} === only-child{}
: first-of-type 选择父元素中第一个相同的子元素,可以指定类型
例 span: first-of-type 指定父(同胞)元素下的第一个span元素
:last-of-type 选择父元素中最后一个相同的子元素,可以指定类型
:first-of-type:last-of-type{} === :only-of-type{}
:nth-child(n可以使数字,公式,关键字:even(偶数) odd(奇数))
:first-child == :nth-child(1)
: nth-last-child(n) 从一组同胞元素的最后一个开始往前算
:nth-child(1):nth-last-child(1) === :only-child
:nth-of-type() 从前开始选择同胞元素
:nth-last-of-type() 从后向前的同胞元素中选择
:nth-of-type(1):nth-last-of-type(1) === :only-of-type
5.5 动态伪类
超链接伪类
:link 未访问链接,和所有的超链接
:visited 已访问的超链接
用户操作伪类
: focus 获取当前输入焦点元素,如表单元素,可编辑内容的元素
: hover 当鼠标指针悬浮在元素上
: active 当用户输入激活的元素,按下的时刻
顺序: link --> visited --> focus --> hover --> active
5.6 UI状态伪类
:enabled 启用的用户界面元素(表单元素),接收输入元素
:disabled 禁用用户界面元素,不接受输入元素
:checked 用户或文档默认选中的单选按钮或复选框
:indeterminate 没有选中的单选框或者复选框,这个状态只能由DOM脚本设定,不能用户设定
:default 默认选中单选按钮,复选框或选项
:valid 满足所有数据的有效性语义的输入框
:invalid 不满足所有数据有效性语义的输入框
:in-range 输入的值在最小值与最大值之间的输入框
:out-of-range 输入的值小于空间允许的最小值或大于空间允许的最大值的输入框
:required 必须输入值的输入框
:optional 可选输入值的输入框
:read-write 用户编辑输入框
:read-only 不能由用户编辑的输入框
5.7:target伪类
URL中有个片段标识伪类,它所指向的是文档片段称为目标(target).URL片段标识符指向的目标元素可以使用:target伪类装饰
片段标识符: https://www.baidu.com/#target-pseudo
这个url中的target-pseudo部分就是片段标识符,由#符号标记
借助这个元素可以可以显示文档中任何目标元素或者为不同的目标元素定义不同的样式; 例如: a:target{color: red},对id = "target-pseudo"也会生效
伪类定义的样式在两种请款下不会应用
页面的URL中没有片段标识符
页面的URL中有片段标识符,但是文档中没有相匹配的元素
5.8 :lang伪类
使文本选择语言选择符,可以使用:lang()伪类,在匹配方式上,:lang()与伪类与 |= 属性选择符类似;伪类选择符与属性选择符之间的主要区别是语言信息有多个来源,有时可能来自元素本身之外.对属性选择符而言元素自身必须有lang属性才能匹配,而:lang伪类能匹配设定语言的元素后代
在HTMl中语言可以通过lang属性判断,也可以通过meta元素和协议(HTTP)判断.XML使用xml:lang属性,还有可能有文档语言专用方法
:lang伪类可以使用各种信息,而 |= 属性选择符只能用于标记中有lang属性元素,因此伪类比属性选择符更可靠
*:lang(fr){
font-style: italic;
}
*[lang |= "fr"]{
font-style: italic;
}
5.9 否定伪类
:not(选择符),否定可以连写
*.link:not(li):not(p){
/*class属性包含link这个词,但不是li或p的所有元素*/
}
5.10 伪元素选择符
在文档中插入虚构的元素,伪类 ’ : ’ ;伪元素’ :: ’
::first-letter和::first-line只能用于块级元素上
1. 装饰首字母
::first-letter{ color: red;}
常用于首字母大写,或者首字母下沉
第一种:
p:first-of-type::first-letter{font-size: 200%;}
第二种:
T
his is a p element, with a styled first
2. 装饰首行
::first-line
常用于装饰首行文本
第一种:
p::first-line {
color: red;
}
第二种:
T
his is a p element, with a styled first
3. 创建前置和后置内容元素
前置 ::before
后置 ::after
/*在h2元素前面添加HELLO并且为红色*/
h2::before{
content: "HELLO"
color: red;
}
before与after必须有content属性,会创建一个元素,属于行内元素
作用在字体图标可以content: '\ea50’和’口’都可以,一般ea50
可以用于清除浮动
5.11 CSS背景
background: url() no-repeat 5px center;/后面两个元素是背景定位 /
background 背景
color: #234; 背景颜色
image: url(https://www.baidu.com/image/); 背景图片
image:url(file:///C:/Users/a4244/Desktop/MD/59.png);背景图
repeat:背景图片重复
repeat-x(水平)
repeat-y(纵向)
no-repeat(不平铺);
position: 背景定位
center
top
bottom
right
left
50% 50%
50px 50px
attachment: 固定的背景图像
scroll(默认值,随内容一起滚)
fix(页面滚背景不滚)
inherit(继承父元素)
rgba(255,255,255, .5) (背景半透明)
科普:背景图片与插入图片的区别
1.插入突变用的最多,比如产品展示,移动位置只能靠盒子模型padding margin 2.背景图片我们一半用于小图标背景或者超大背景图片,背景图片只能通过background-position
5.12 CSS字体
font: italic bold 10px/35px arial, sans-serif,“微软雅黑”(斜体字 加粗 字体大小/行高 默认字体,备用字体,“微软雅黑”); font-size;font-family属性必须写,其他可选
font 字体
family 定义字体系列
arial,sans-serif,“宋体”,“微软雅黑”(如果没有就会一直向后找,如果都没有就会默认)
style 字体风格
normal(标准)
italic(斜体)
oblique(倾斜)
none(关闭所有风格)
variant 字体变形
normal(默认值,浏览器会显示一个标准字体)
small-caps(浏览器会显示小型大写字母的字体)
inherit(继承父类)
weight 文本加粗
normal(默认值,定义标准字符)
bold (定义粗体)
bolder (定义更粗的字符)
lighter (定义更细的字符)
100-900,400默认值,700(bold)
size 字体大小,默认16px,浏览器各不相同,最好自定义
xx-small,x-small,small,medium(默认),large,x-large,xx-large(字体尺寸从小到大)
smaller (比父元素更小)
larger (比父元素更大)
length(一个固定的值或者百分比)
inherit (继承父类)
font-kerning字距
auto 用户自动调整
normal 正常
none 忽略
@font-face 自定义字体
惰性加载字体,指定文本渲染时才会加载
把下载字体包,解压,把里面的font文件夹放到网页文件夹的fonts里面
口
追加字体图标,在网站上点击import icons(导入icons),选中下载的文件夹中的下来的selection.jsonselection.json就可以
CSSUnicode字体 在CSS中设置字体名称,直接写中文是可以的,但是在文件编码(GB2312,UTF-8等)不匹配时会产生乱码的错误,XP系统不支持类似的字体中文 解决: 方案一:用英文代替, 比如: font-family: “Microsoft Yahei” 方案二: 在CSS中直接使用Unicode编码来写字体名称可以避免这些错误,使用Unicode写中文字体名称,浏览器会正确的解析
字体名称
英文名称
Unicode编码
宋体
SimSun
\5B8B\4F53
新宋体
NSimSun
\65B0\5B8B\4F53
黑体
SimHei
\9ED1\4F53
微软雅黑
Microsoft YaHei
\5FAE\8F6F\96C5\9ED1
楷体_GB2312
KaiTi_GB2312
\6977\4f53_GB2312
隶书
LiSu
\96B6\4e66
幼圆
YouYuan
\5E7C\5706
华文细黑
STXihei
\534E\6587\7EC6\9ED1
细明体
MingLiU
\7EC6\660E\4F53
新细明体
PMingLiU
\65B0\7EC6\660E\4F53
文本格式化标签样式
标签
含义
样式
属性
倾斜
添加倾斜
font-style: italic
取消倾斜
font-style: normal
加粗
添加加粗
font-weigth: 700(bold)
取消加粗
font-weigth: 400(normal)
下划线
添加下划线
text-decoration: underline
删除下划线
text-decoration: none
删除线
添加删除线
text-decoration : line-through
取消删除线
text-decoration : none
5.13 CSS文本
text 文本
indent: 5em(可以负值,百分比,像素值); 首行缩进
align: 文本对齐
left(左对齐)
right(右对齐)
center(居中对齐)
justify(两端对齐)
inherit(看父元素)
spacing: 字符间距
normal (默认值,和0一样)
length(可正可负)
inherit (看父元素)
transform 处理文本大小写
none(默认)
uppercase(全转为大写)
lowercase(全转为小写)
capitalize(首字母大写)
decoration 文本装饰,可以多个属性值一起写
none(关闭所有装饰)
underline(文本加下划线)
overline(文本顶端加下划线)
line-through(文本中间画贯穿线)
blink (文本闪烁)
direction: 文本方向
ltr (默认.文本方向从左到右)
rtl (文本方向从右到左)
inherit (继承父类)
white-space(处理空白字符)
pre-line(合并空白符,保留换行符,允许自动换行)
normal (合并空白符,忽略换行符,允许自动换行)
nowrap (合并空白符,忽略换行符,不允许自动换行)
pre (保留空白符,保留换行符,不允许自动换行)
pre-wrap(保留空白符,保留换行符,允许自动换行)
a 链接状态(按照这个顺序不能换)
a:link {color:#FF0000;} (未被访问的链接)
a:visited {color:#00FF00;}(已被访问的链接)
a:hover {color:#FF00FF;} (鼠标指针移动到链接上)
a:active {color:#0000FF;} (正在被点击的链接)
line-height (行高,行间距)
color (文本颜色)
5.14 CSS盒子模型
盒子边距
margin: (top,right,bottom,left)盒子的外边距,会重叠合并(盒子塌陷)
padding: (top,right,bottom,left)盒子边框内边距,会撑开盒子(子盒子没有宽度,不会撑开)
盒子边框
border-style:(border-top/right/bottom/left-style)边框样式
none(无边框)
hidden(与 “none” 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突)
dotted(点状边框,很细,密密麻麻的点,有的浏览器直接实现实现)
dashed(定义虚线,有的浏览器也会显示实线)
solid(实现)
double(双线)
groove(定义 3D 凹槽边框。其效果取决于 border-color 的值)
ridge(定义 3D 垄状边框。其效果取决于 border-color 的值)
inset(定义 3D inset 边框。其效果取决于 border-color 的值。)
outset(定义 3D outset 边框。其效果取决于 border-color 的值)
dotted solid double dashed(上 右 下 左)
dotted solid double(上 左右 下)
dotted solid(上下 左右)
dotted(上下左右)
border-width: (border-top/right/bottom/left-width)边框宽度
thin(细边框)
medium(默认中等边框)
thick(定义粗边框)
length(自定义边框宽度)
inherit(继承父类)
border-color: (border-top/right/bottom/left-color)边框颜色
transparent(默认值,边框透明)
inherit(继承父类)
border-radius: 50%(圆) || 1px (圆角边框)(CSS3)
圆角矩形,按照下面的顺序写 border-radius: 左上 右上 右下 左下;
border-top-left-radius 左上角圆弧
border-top-right-radius右上角圆弧
border-bottom-right-radius 右下角圆弧
border-bottom-left-radius 左下角圆弧
border-collapse
collapse: 表格边框合并是1+1=2,变粗,然后使用这方法相邻边框合并在一起
separate: 表格边框合并是1+1=2
inherit
box-shadow盒子阴影(按照这顺序可以连写)(CSS3)
h-shadow(必须,水平x轴阴影位置,允许负值)
v-shadow(必须,垂直y轴阴影的位置,允许负值)
blur(可选,模糊阴影,数值越大越模糊)
spread(可选,阴影大小)
color(可选,阴影的颜色)
inset(默认外部阴影,修改为内部阴影;注意外部阴影不能写)
box-shadow:0 2px 4px rgba(0,0,0,.2);
科普1:盒子居中
盒子水平居中要满足两个条件1.必须指定宽度;2.然后给左右两个外布局设置为auto 写法一: margin-left: auto; margin-right: auto; 写法二: margin: auto;因为上下auto是没有用的 写法三: margin: 0 auto;
科普2:边距
行内元素上下外边距设置没用,低版本IE设置内边距也没用,为了兼容性尽量写左右内外边距,不要写上下
5.15 盒子塌陷解决办法
overflow: 内容溢出元素框时,发生的事情
visible(默认值。内容不会被修剪,会呈现在元素框之外)
hidden (内容会被修剪,并且其余内容是不可见的)
scroll (一直显示滚动条,超出部分滚动可见)
auto (当超出元素框后,显示滚动条,超出部分滚动可见)
inherit(规定应该从父元素继承 overflow 属性的值。)
5.16 标签显示模式(display)
块级元素 (block-level)
特点: 宽度默认独占一行(100%)
div,p,h1-h6,ul,li,ol,form,table等
行内元素 (inline-level)
特点: 宽高无效,默认内容的宽高,所有内容排在一排
a,strong,b,em,i,del,s
行内块 (lnline-block)
行内元素只能放行内元素,(float,绝对定位,固定定位都会把标签转为行内块)
既能设置宽高大小,又能排在一排显示
img,input,td
模式转换
块转行内: display:inline
行内转块: display: block
块与行内 转成行内块: display: inline-block
5.17 盒子布局的三种机制
网页布局的核心-就是用css布局
css提供三种机制来设置盒子的摆放,分别是普通流(标准流),浮动和定位
普通流(标准流);
浮动
让盒子从普通流中浮起来,主要作用是让多个盒子一行显示
定位
将盒子定在浏览器的某一个位置–css离不开定位,特别是后面的js特效
5.18 浮动
float: left(左浮动123) || left(右浮动321)||none无浮动
浮动元素重叠问题
浮动不会覆盖文字内容
浮动不会覆盖图片内容
浮动不会覆盖表单内容
任何元素都可以浮动,无论它本身是什么元素.浮动起来就是块级框(和行内块相似)
浮动只会影响当前或者后面的标准流盒子,不会影响到前面的标准流
5.19 清除浮动
很多情况下,父盒子不方便给高度,但是子盒子浮动就不占位置,最后父级盒子高度为0,就会影响到下面的盒子
清除浮动主要是为了解决父级元素因为子级浮动引起内部高度为0的问题,清除浮动后,父级就会根据浮动的子盒子自动检测高度,父级就有了高度,就不会影响下面的标准流了
语法: 选择器 { clear: left/ right/ both}/清除左侧 /右侧 / 左右两侧的浮动 /
方法一:额外标签法
w3c推荐的做法: 通过浮动元素,末尾添加一个空标签,例如
优点: 通俗易懂,书写方便
缺点: 添加许多无意义的标签,结构差
示例10: 清除浮动之额外标签法demo01.html
方法二: 父级添加overflow属性的方法
可以给父级添加: overflow: hidden | auto | scroll都可以实现
优点: 代码简洁
缺点: 内容增多时候容易造成不会换行导致内容被隐藏掉,无法显示需要溢出的元素
示例11: 清除浮动之overflow demo01.html
方法三: 使用after为元素清除浮动
after方式为空标签额外标签法的升级版本,好处是不用单独加标签
.clearfix: after {
diplay: block;
overflow: hidden;/*可选*/
clear: both;
height: 0;
visibility: hidden;
content: "";
}
.clearfix {
*zoom: 1;/*IE6,7专有*/
}
优点: 符合闭合浮动思想
缺点: 由于IE6,7不支持: after,使用zoom:1触发hasLayout(百度,淘宝,网易等都有)
示例12: 清除浮动之单伪元素demo01.html
方法四: 双为元素清除浮动
.clearfix:before,
.clearfix:after {
display: table;
content: "";
}
.clearfix:after{
clear: both;
}
.clearfix{
*zoom: 1;
}
优点: 代码更简洁,语义化正确
缺点: 由于IE6,7不支持: after,使用zoom:1触发hasLayout(腾讯,小米等都有)
示例13: 清除浮动之双伪元素demo01.html
5.20 绝对定位
口诀: 子绝父相
position:位置
relative : 相对定位的元素,对象不可层叠,absolute开始相对它定位 ,本体移走,位置保留
absolute: 绝对定位,可以相对absolute,relative,fixed定位,但是第一个必须是relative,fixed,浏览器窗口,本体移走,位置不保留
fixed: 固定定位,相对于浏览器窗口进行定位
static: 默认值。静态定位,元素出现在正常的流中
inherit: 规定应该从父元素继承 position 属性的值
5.21 绝对定位盒子居中
div {
position: absolute;
left: 50%;
top: 50%;
margin-left: -100px;
margin-top: -100px;
height: 200px;
width: 200px;
border: 1px solid #ff0000;
}
/*或者*/
div{
position: absolute;
left: 50%;
top: 50%;
height: 200px;
width: 200px;
border: 1px solid #ff0000;
transform: translate(-50%, -50%);
}
5.22 堆叠顺序(z-index)
在使用定位布局时,可能会出现盒子重叠情况,加了定位盒子,默认后来者区上,后面的盒子会压住前面的盒子,应用z-index层叠等级属性可以调整盒子的堆叠顺序
属性值: 正数负数或0,默认值0,数值越大盒子越上
如果属性值相同后来者区上
数字后面不能加单位
**注意: **z-index只能应用于相对定位, 绝对定位和固定定位的元素,其他标准流,浮动,静态定位无效
6. CSS高级
6.1 元素显示与隐藏
6.1.1 diaplay 显示
block : 块对象的默认值,同时还有显示元素
inline : 转为行内块(内联对象)
inline-block: 转为行内块对象
none: 隐藏对象,不保留位置。与visibility: hidden(保留位置)不同
还有表格操作元素,查手册
6.1.2 visiblity 可见性
visible: 显示
hidde: 隐藏(保留位置); 清除浮动
inherit: 继承父级
collapse: 隐藏表格的行和列
6.1.3 overflow 溢出
visible: 不剪辑溢出内容,内容也不添加滚动条
hidden: 不显示超出的部分,超出的部分隐藏
scroll: 不管内容超出与否,都添加滚动条
auto: 超出自动显示滚动条,不超出不显示滚动条
6.2 用户界面样式
6.2.1 鼠标样式 cursor
default: 小白(默认)
pointer: 小手
move: 移动
text: 文本
not-allowed: 禁止
6.2.2 轮廓线 outline
轮廓线: 文本输入框选中会出现蓝色的边框的外围,可起到凸起元素的作用
outline: outlone-color | outline-style | outline-width
但是一般不关心可以设置多少,平时一般去掉,直接写法: outline: 0;或者outline: none;
6.2.3 防止拖拽文本域 resize
< textarea style = “resize: none;”> /防止拖拽 /
6.3 垂直对齐 vertical-align
有宽度的块级元素居中对齐,是margin: 0 auto;
让文字居中对齐,test-align: center;
vertical-align垂直对齐,他只针对行内元素 或者行内块元素 有效果,块元素没用
行高 指基线与基线的距离
vertical-align: baseline(基线对齐,默认) | top(顶线对齐) | midde(中线对齐) | bottom(底线对齐)
6.3.1 去除图片低侧空白缝隙
父盒子由图片撑开,图片下面会有空白缝隙,因为图片或者表单等行内块元素,它的底线会和父级盒子的基线对齐,就是图片低侧会有的空白缝隙 解决方案1 : 给img添加vertiacl-align:middle| top | midde都可以,让图片不要和基线对齐 解决方案2: 给img添加 diaplay: block; 把图片转换为块级元素,就不会生效
6.4 溢出文字解决
while-space(文本显示方式)
normal;(默认处理,文字会自动换行)
nowrap; (强制在同一行显示,直到文本结束或br)
pre 保留格式
pre-wrap: 保留空白符序列,但是正常的进行换行
pre-line: 合并空白,保留换行
overflow
text-overflow
clip (文本溢出不显示省略号,简单的裁切)
ellipsis(文本溢出显示省略号标记)
/*第一步: 先强制一行内显示文本*/
white-space: nowrap;
/*第二步: 超出的部分隐藏*/
overflow: hidden;
/*第三步: 文字省略号待敌超出的文本*/
text-overflow:ellipsis;
6.5 CSS精灵技术
6.5.1 精灵技术产生背景
图所示为网页的请求原理图,当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户。 然而,一个网页中往往会应用很多小的背景图像作为修饰,当网页中的图像过多时,服务器就会频繁地接受和发送请求,这将大大降低页面的加载速度。为了有效地减少服务器接受和发送请求的次数,提高页面的加载速度,出现了CSS精灵技术(也称CSS Sprites、CSS雪碧)。
6.5.2 精灵技术本质
CSS精灵是一种处理网页背景图像的方式。它将一个页面涉及到的所有零星背景图像都集中到一张大图中去,然后将大图应用于网页,这样,当用户访问该页面时,只需向服务发送一次请求,网页中的背景图像即可全部展示出来。通常情况下,这个由很多小的背景图像合成的大图被称为精灵图(雪碧图),如下图所示为王者荣耀网站中的一个精灵图
.icon01 {
width: 23px;
height: 23px;
background: url(file:///C:/Users/a4244/Desktop/MD/59.png) 0px -106px;
/*background-position: 0(左右不动) -106(背景图上移)*/
}
6.6 滑动门技术
为了各种特殊形状的背景能够自适应元素中文本内容的多少,出现了CSS滑动门技术.它从新的角度构建页面,使各种形状的背景能够自动拉伸,以适应元素内部的文本内容,可用性很强,常见于各种导航栏的滑动门
核心技术
核心技术就是利用css精灵(主要是背景位置)和盒子padding撑开,以便于能使用不同字数的导航栏.一般经典布局是:
精灵图:
导航栏内容
6.7 margin负值
6.7.1 解决边框1+1=2
利用margin去掉盒子与盒子合并的1+1 = 2的问题
div {
/*浮动的盒子是紧贴在一起的*/
float: left;
width: 200px;
height: 300px;
border: 1px solid #ccc;
margin-left: -1px;
margin-top: -1px;
}
/*鼠标经过div 的意思 p:hover */
div:hover {
/*我要让当前鼠标经过的这个div 升到最高处来就好了*/
/*定位的盒子是最高层的 */
border: 1px solid #f40;
/*我们只要保证当前的这个盒子 是定位 就会压住 标准流和浮动盒子*/
position: relative;
/*我们只能用相对定位 它是占位置的*/
}
div {
position: relative;
/*浮动的盒子是紧贴在一起的*/
float: left;
width: 200px;
height: 300px;
border: 1px solid #ccc;
margin-left: -1px;
margin-top: -1px;
}
/*鼠标经过div 的意思 p:hover */
div:hover {
/*我要让当前鼠标经过的这个div 升到最高处来就好了*/
/*定位的盒子是最高层的 */
border: 1px solid #f40;
/*都是定位的盒子,我们通过z-index 来实现层级关系*/
z-index: 1;
}
6.7.2 制作三角
用CSS边框可以模拟三角结果,宽度高度都为0,我们4个边框都要写,只保留边框的颜色,其余不能省略,都改为transparent(透明色)就好 为了照顾兼容性,低版本浏览器,加上font-size: 0; line-height: 0;
6.8 引入icon
在网站的链接后面添加favicon.ico
/*https://www.jd.com/favicon.ico*/
/*在head之间引入*/
/*或者*/
## 7. HTML5
7.1 HTML5 简介
万维网的核心语言,标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改.作为新的HTML语言,具有新的元素,属性和行为 HTML5它有更大的技术集,允许多样化和强大的网站和应用程序 增加了新特性: 语义特性, 本地存储特性, 设备兼容特性, 连接特性, 网页多媒体特性, 三维, 图形及特效特性, 性能与集成特性, CSS3特性 XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求
7.2 H5新增语义化标签
标签
含义
标签
含义
标签
含义
头部标签
导航栏标签
内容标签
块级标签
侧边栏标签
尾部标签
音频标签
视频标签
尾部标签
注意: 这些语义化标签主要是针对搜索引擎的; 一个页面可以多次使用; 在IE9中需要把他们转换为块级元素
7.3 autio音频标签
语法:
属性
autoplay: autoplay; 如果出现该属性,则音频就绪后会马上播放(谷歌禁用)
controls: controls; 如果出现该属性,则向用户显示控件,比如播放按钮
loop: loop; 如果出现该属性,则每当音频结束时重新开始播放
src: url; 要播放的音频URL
你的浏览器不支持audio音频
7.4 video视频标签
语法:
video属性
autoplay: autoplay; 视频就绪自动播放
controls: xontrols; 向用户显示播放界面(不使用)
width: pixels(像素); 设置播放器的宽度
height: pixels(像素); 设置播放器的高度
loop: loop; 播放完继续播放该视频,循环
preload: 规定是否预加载视频(如果有了autoplay就会忽略该属性)
auto(预先加载视频)
none(不应加载视频)
src: url; 视频url地址
poster: imgurl; 加载等待画面图片
muted: muted; 静音播放
格式
IE
火狐
Opera
Chrome
Safari
Ogg
NO
3.5+
10.5+
5.0+
NO
MPEG 4
9.0+
No
No
5.0+
3.0+
Ogg
NO
4.0+
10.6+
6.0+
NO
你的浏览器不支持video视频
8 CSS3
8.1 2D转换
转换(transform): 实现元素位移,旋转,缩放等效果(变形)
移动: translate
旋转: rotate
变形: scale
综合写法transfrom: translate(150px,150px) rotate(180deg) scale(1.2)…等
1. 移动: translate
/*语法: 百分比单位相对于自身元素的translate:(50%,50%)*/
transform: translate(x, y)
/*或者*/
transform: translateX(x);
transform: translateY(y);
优点: 不会影响其他元素的位置,对行内标签没有效果
2.旋转: rotate
transform: rotate(度数);
rotate里面跟度数,单位deg,如rotate(45deg)
角度为正时,顺时针; 负时,为逆时针
默认旋转的中心点是元素的中心点
3.旋转的中心点: transform-origin
transform-origin: x y;
/*x,y(默认中心点50%,50%), 还可以给x,y设置像素,方位名词: top, bottom, left, center*/
4. 缩放: scale
/*语法: transform: scale(x,y)*/
transform: scale(1,1): 放大一倍,相当于没有放大
transform: scale(2,2): 放大两倍
transform: scale(2) == transform: scale(2,2)
transform: scale(0.5,0.5): 缩小一半
/*可以设置中心点缩放,默认就是中心点,而且不会影响其他盒子*/
8.2 过渡动画CSS3
过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。
过渡动画: 是从一个状态 渐渐的过渡到另外一个状态
可以让我们页面更好看,更动感十足,虽然 低版本浏览器不支持(ie9以下版本) 但是不会影响页面布局。
我们现在经常和 :hover 一起 搭配使用。
语法格式:
transition: 要过渡的属性 花费时间 运动曲线 何时开始;
属性
描述
CSS
transition
简写属性,用于在一个属性中设置四个过渡属性。
3
transition-property
规定应用过渡的 CSS 属性的名称。
3
transition-duration
定义过渡效果花费的时间。默认是 0。
3
transition-timing-function
规定过渡效果的时间曲线。默认是 “ease”。
3
transition-delay
规定过渡效果何时开始。默认是 0。
3
属性就是你想要变化的 css 属性, 宽度高度 背景颜色 内外边距都可以 。如果想要所有的属性都变化过渡, 写一个all 就可以。
运动曲线示意图:
案例:
div {
width : 200px;
height : 100px;
background-color : pink;
transition : all 0.6s;
}
div:hover {
width : 600px;
height : 300px;
background-color : purple;
}
8.3 动画
动画(animation): 可通过设置多个节点来精确控制一个或一组动画,用用来实现复杂的动画效果
相比于过渡,动画实现跟多变化,更多控制,连续自动播放等效果
制作动画: 先定义动画,然后使用(调用)动画
动画序列
0%是动画的开始,100%是动画完成,这样的规则就是动画序列
在@keyframes中规定某项CSS样式,就能创建由当前样式逐渐改为新样式的动画效果
动画是使元素从一种样式逐渐变化为另一种样式的效果,您可以改变任意多的样式任意多的次数
请用百分比来规定变化发生的时间,或用关键词"from"和"to",等同于0%和100%
动画属性
@keyframes 规定动画
animation 所有动画属性的简写属性,除animation-play-state属性
animation-name 规定@keyframes动画名称(必须的)
animation-duration 规定动画完成一个周期多花费的秒或毫秒,默认是0(必须的)
animation-timing-function 规定动画运动曲线
linear 动画从头到尾的速度相同,匀速
ease 默认. 动画以低速开始,然后加快,在结束前变慢
ease-in 动画低速开始
ease-out 动画低速结束
ease-in-out 动画以低速开始低速结束
steps() 指定了时间函数中的间隔数量
animation-delay 规定动画何时开始,默认是0
animation-iteration-count 规定动画播放的次数,默认是1,还有infinite
animation-direction 规定动画是否在下一周期逆向播放,默认是"normal",alternate逆向播放
animation-play-state 规定动画是否正在运行或暂停,默认是"running"还有"paused"
animation-fill-mode 规定动画后的结束状态,保持forwards,回到起始backwards
简写: animation: 动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 动画起始或者结束状态,第二个动画;
/*1. 定义动画*/
@keyframes move{
0%{/*开始状态*/
transform: translateX(0px, 0px);
}
100%{/*结束状态*/
transform: translateX(1000px, 0px);
opacity: 1; /*透明度[0-1]*/
}
/*或者*/
from{/*开始状态*/
transform: translateX(0px);
}
to {/*结束状态*/
transform: translateX(1000px);
}
}
div{
width: 200px;
height: 200px;
/*2. 调用动画*/
animation-name: move;
/*持续时间*/
animation-duration: 3s;
/*运动曲线*/
animation-timing-function: ease;
/*开始时间*/
animation-delay: 1s;
/*动画播放次数: 无限*/
animation-iteration-count: infinite
/*动画的播放方向: 逆向*/
animation-deiection: alternate
}
8.4 3D转换
3D位移: translate3d(x, y, z)
3D旋转: rotate3d(x, y, z)
透视: perspective
3D呈现: transfrom-style
1. 3D移动: translate3d
translform: translateX(100px); 仅在X轴上移动
translform: translateY(100px); 仅在Y轴上移动
translform: translateZ(100px); 仅在Z轴上移动
translform: translateX(100px) translateY(100px) translateZ(100px);
translform: translate3d(x,y,z); 分别指定x, y, z轴移动方向的距离
2. 透视: perspective
perspective: 200px; 透视的属性一般写在被观察的父盒子的身上
3. 3D旋转: rotate3d
transform: rotateX(45deg): 沿着x轴的正方向旋转45度 transform: rotateY(45deg): 沿着y轴的正方向旋转45度 transform: rotateZ(45deg): 沿着z轴的正方向旋转45度 transform: rotate3d(x, y, z, deg);沿着自定义轴旋转deg为角度
4. 3D呈现: transfrom-style
控制子盒子是否开启三维立体环境
transfrom-style: flat子元素不开启3d立体空间,默认的
transfrom-style: preserce-3d; 子元素开启立体空间
代码写给父级,但是影响的却是子盒子
8.5 渐变
1 线性渐变
background: linear-gradient(起始方向,颜色1,颜色2,...);
background: -webkit-linear-gradient(left, red, blue);
background: -webkit-linear-gradient(left top, red, blue);
要加私有前缀,不然不显示
8.5 浏览器私有前缀
浏览器私有前缀是为了兼容老版本,比较新的就不用添加
-moz-: 代表火狐(firefox)
-ms-: IE
-webkit-: safari, chrome
-o-: Opera
-moz-border-radius : 10px;
-webkit-border-radius : 10px;
-o-border-radius : 10px;
border-radius : 10px;
9 移动端
视口(viewport):浏览期限是页面的屏幕区域,视口可以分: 布局视口, 视觉视口, 理想视口*
一般移动设备的浏览器都默认设置了一个布局视口,用于解决早期的PC端页面在手机上显示的问题。 iOS, Android基本都将这个视口分辨率设置为 980px,所以PC上的网页大多都能在手机上呈现,只不过元素看上去很小,一般默认可以通过手动缩放网页,手机显示电脑网页
字面意思,它是用户正在看到的网站的区域。注意:是网站的区域。 我们可以通过缩放去操作视觉视口,但不会影响布局视口,布局视口仍保持原来的宽度。
理想视口(ideal viewport) 为了使网站在移动端有最理想的浏览和阅读宽度而设定
理想视口,对设备来讲,是最理想的视口尺寸
需要手动添写meta视口标签通知浏览器操作
meta视口标签的主要目的:布局视口的宽度应该与理想视口的宽度一致,简单理解就是设备有多宽,我们布局的视口就多宽
总结:我们开发最终会用理想视口,而理想视口就是将布局视口的宽度修改为视觉视口
9.1 视口标签meta
content = width = device-width(设备的宽度) use-scalable = no (不允许用户放大(no,0)) initial-scale = 1.0(初始缩放) maximum-scale = 1.0(最大缩放比) minimum-scale = 1.0(最小缩放比)
9.2 二倍图
图片缩放 设定图片大小为100px*100px,手机一般是2:1 img{width: 50px; height: 50px}
背景图缩放background-size
background-size: 背景图宽度 背景图片高度;
cover: 等比例拉伸,背景放大至完全覆盖,可能有些部分显示不全
contain: 等比例拉伸,当宽度或高度铺满盒子就不会在拉伸,可能有部分空白区域
精灵图二倍缩放
先把精灵图缩小至原来的两倍,然后量坐标与大小
background-size也要缩放
9.3 移动端主流方案
单独制作移动端页面(主流)
流式布局(百分比布局); flex弹性布局 ; less+rem+媒体查询布局; 混合布局
通常情况下,网址域名前面加m(mobile)可以打开移动端.通过判断设备打开,则跳转移动端页面,例:m.taobao.com
响应式页面兼容移动端(其次)
判断屏幕宽度来改变样式,以适应不同终端,制作麻烦,花大量的精力调兼容性问题
移动端浏览器基本以webkit内核为主,因此只要考虑webkit的兼容性问题,可以使用H5,CSS3
移动端CSS初始化文件: normalize.css
Normalize.css
保护了有价值的默认值
修复了浏览器的bug
拥有详细的文档
官网:http://necolas.github.io/normalize.css/
CSS3的盒子模型: box-sizing
box-sizing: content-box; 传统模式
box-sizing: border-box; CSS3模式
传统盒子模型: 盒子宽度 = width + border + padding;
CSS3盒子模型: 盒子的宽度 = CSS中设置的宽度,里面包含border和padding,也就是说不会撑大盒子
特殊样式
CSS3盒子模型
box-sizing: border-box;
-webkit-box-sizing: border-box;
点击高亮我们需要清除: 设置为transparent;
-webkit-tap-heighlight-color: transparent;
在移动端ios默认外观加上这个属性才能给按钮和输入框自定义样式
-webkit-appearance: none;
禁用长按页面时的弹出菜单
img,a{-webkit-touch-callout: none;}
10 fiex布局
传统布局: 兼容性好, 布局繁琐,局限性,不能在移动端很好的布局 fiex布局: 操作方便,布局简单,移动端应用广泛,pc支持较差,IE不支持
布局原理 : 通过给父盒子添加flex属性,来控制子盒子的位置和排列方式
flexible Box的缩写(弹性布局),用来为盒转模型提供最大的灵活性,任何一个容器都可以指定为flex布局
当我们为父盒子设为flex布局后,子元素的float,clear,vertical-align属性会失效
伸缩布局 = 弹性布局 = 伸缩盒布局 = 弹性盒布局 = flex布局
采用flex布局的元素,称为Flex容器(flex container),简称"容器",他的所有子元素自动成为容器成员,称为Flex项目(flex item),简称"项目"
div就是flex父容器,大的叫容器,小的叫项目
span就是自容器flex项目
自容器可以横向排列也可以纵向排列
10.1 flex的父类属性
给父元素: display: flex;
flex-direction: 设置主轴的方向
flex布局中,分为主轴和侧轴两个方向或者叫行和列,或者X,Y轴,子元素是根据主轴排列的
主轴默认方向就是x轴的方向,水平向右;侧轴方向是y轴的方向,水平向下
主轴和侧轴是可以变换的,就可flex-direction设置谁是主轴,剩下的就是侧轴
属性:
row: 默认从左到右
row-reverse 从右到左
column 从上到下
column-reverse 从下到上
justify-content: 设置主轴上的子元素排列方式
使用这个元素之前一定要确定主轴是哪个
属性:
flex-start: 默认值,从头开始,如果主轴是x轴,则从左向右
flex-end: 尾部开始排列
center: 主轴区中对齐(如果主轴是x轴则水平区中)
space-around: 平分剩余空间
space-between: 先两边贴边,再平分剩余空间(重要)
flex-wrap: 设置子元素排列方式
默认的情款下,盒子都排在一条轴上,flex布局默认不换行
属性值:
align-content: 设置侧轴上的子元素的排列方式(多行),单行无效果
属性:
flex-start 在侧轴的头部开始排列
flex-end 在侧轴的尾部开始排列
center 在侧轴的中间显示
stretch 设置子项元素高度平分父元素高度
space-around 子项在侧轴平分剩余空间
space-between 子项在侧轴先分布在两头.在平分剩余空间
align-items: 设置侧轴上的子元素排列方式(单行)
该属性是控制侧轴(默认y轴),上的排列顺序,在子项为单向的时候使用
属性:
flex-start 默认值 从上到下
flex-end 从下到上
center 挤在一起区中(垂直区中)
stretch 拉伸
flew-flow: 复合属性,相当于同时设置了flex-direction和flex-wrap简写
10.2 flex的子项属性
flex属性定义了子项目分配剩余控件,用flex来表示占多少份数
flex: number;默认是0
align-self 属性允许单个项目与其他项目不一样的对齐方式.可以覆盖align-items属性,默认值为auto,标识继承父元素的align-items属性,如果没有父元素,则等同于stretch
span:nth-child(2){align-self: flex-end;}
order 属性定义项目的排列顺序 数值越小,排列越靠前面,默认为0
11 rem适配布局
11.1 rem基础
rem(root em)是相对单位, 类似于em,em是父元素字体大小,不同的是rem的基准是相对于html元素的字体大小 优点:可以通过修改html里面的文字大小来改变页面中元素的大小可以实现整体控制 例如: 根元素html设置font-size: 12px;非根元素设置width:2rem;则换成px表示就是24px;
html {
font-size: 14px;
}
div {
font-size: 12px;
}
p{
/*em相对于父元素div的字体大小来说,生成一个120x120的盒子*/
width: 10em;
height: 10em;
/*rem相对于html元素字体大小来说,生成140x140的盒子*/
width: 10rem; 10*14=140
height: 10rem;
}
11.2 媒体查询
媒体查询(Media Query)是CSS3的语法
使用@media查询,可以针对不同的媒体类型定义不同的样式
@media可以针对不同的屏幕尺寸设置不同的样式
当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面
目前针对很多苹果手机,android手机,平板等设备都用得到多媒体查询
语法: media mediatype and|no|only (media feature){CSS-Code;}
用@media开头 注意@符号
mediatype媒体类型
all 用于所有的设备
print 用于打印机和打印预览
scree 用于电脑屏幕,平板电脑,智能手机
关键字 and not only
and可以将多个多媒体特性连接在一起,相当于且的意思
not: 排除某个媒体类型,相当于非得意思,可以省略
only: 指定某个特定的媒体查询类型,可以省略
media featrue 媒体特性 必须由小括号包含
width:定义输出设备中页面可见区域的宽度
min-width: 定义输出设备中页面最小可见区域宽度
max-width: 定义输出设备中页面最大可见区域宽度
/*在屏幕上,最大的宽度为800px*/
@media screen and (max-width: 800px){
body {
background-color: pink;
}
}
@media scree and (min-width: 320px) and (max-width: 500px) {
body {
background-color: purple;
}
}
例: 实现放大缩小
* {
margin: 0;
padding: 0;
}
media screen and (min-width: 32px) {
html {
font-size: 50px;
}
}
media screen and (min-width:640px) {
html {
font-size: 100px;
}
}
.top {
height: 1rem;
font-size: .5rem;
background-color: green;
color: #fff;
text-align: center;
line-height: 1rem;
}
购物车
div>
10.3 媒体查询引入css
语法:
11 less
less(Leaner Style Sheets): 一门扩展语言,也是CSS的预处理器,作为CSS的一种形式的扩展,他并没有减少CSS的功能,而是在现有的CSS的语法上,为CSS加入了程序式语言特性,在CSS的语法基础上,引入了Mixin(混入),运算一级函数等功能,大大简化了CSS的编写,并且降低了CSS的维护成本 常见的CSS预处理器: Sass, Less, Stylus
11.1 less安装
安装nodejs,可以选择版本(8.0)
检查是否安装成功,使用cmd,node-v查看版本号
基于nodejs在线安装Less,使用cmd,"npm install -g less
检查是否安装成功,使用cmd命令, "lessc -v"查看版本就可以啦
less使用: 新建less后缀的文件,在这个less文件里面书写less语句
less变量
less编译
less嵌套
less运算
11.2 less变量
@变量名: 值;
变量名规范: 必须以@作为前缀, 不能包含特殊字符, 不能以数字开头, 大小写敏感
//新建一个my.less文件
@color: pink; //定义一个粉色变量
@font14: 14px; //定义字体为14号字体
body {
background-color: @color;
font-size: @font14;
}
div {
background-color: @color;
}
11.3 less编译
本质上,less包含一套自定义的语法及一个解析器, 用户根据这些语法定义自己的样式规则,这些规则最终会通过解析器,编译生成对应的CSS文件,所以less文件需要编译生成CSS文件,这样html才能使用
Easey LESS插件用来把less文件编译成为CSS文件,只要保存就会自动生成CSS文件,然后引入生成的CSS文件
11.4 嵌套
伪类,伪元素,或者交集选择器需要在前面加&符号,然后写伪元素, 伪类和交集选择器
/*less文件*/
.header {
width: 200px;
height: 200px;
background-color: pink;
a {
color: red;
&:hover {
color: green;
}
}
}
/*less文件生成的CSS文件*/
.header {
width: 200px;
height: 200px;
background-color: pink;
}
.header a {
color: red;
}
.header a:hover {
color: green;
}
11.5 less运算
运算符有: + - * /
运算符左右必须加空格
运算的顺序和数学一样
两个数参与运算, 如果一个有单位,则最后的结果的以这个单位为准
如果两个都有单位,而且不一样,最后的结果以第一个单位为准
// less文件
@border: 5px + 5;
div {
width: 200px - 50;
height: 200px * 2;
border: @border solid red;
background-color: #666 - #222;
}
header {
width: 82 / 50rem;
height: 82 / 50rem;
}
/*生成CSS文件*/
div {
width: 150px;
height: 400px;
border: 10px solid red;
background-color: #444;
}
header {
width: 1.64rem;
height: 1.64rem;
}
11.6 rem适配方案
让一些不能等比自适应元素,达到当设备尺寸发生改变的时候,等比例适配当前的元素
使用媒体查询根据不同设备按比例设置html的字体大小,然后页面元素使用rem做单位的尺寸
技术方案一: less, 媒体查询, rem
动态设置htmlfont-size大小
假设设计稿是750px
于是我们就可以把设计稿划分为15等分(20等份,等分不一),每份html大小就是50px
在320px设备的时候,字体大小就是320/15就是21.33
页面元素大小除以不同的html字体大小会发现他们的比例还是不相同的
比如750px的设计稿,在10010像素的页面元素750屏幕下,就是100/50转换为rem,就是2rem 2rem比例是1:1
320屏幕下,html字体大小为21.33,则2rem = 42.66px,此时宽和高都是42.66,但是宽和高比例还是1:1
元素取值方法
页面元素rem值 = 页面元素值(px) / (屏幕宽度 / 划分的份数)
屏幕宽度 / 划分的份数 = html font-size的大小
或者: 页面元素的rem值 = 页面元素值(px) / html font-size字体大小 技术方案二: flexible.js, rem
CSS规范
1. CSS属性书写顺序
遵循以下顺序
布局定位(显示)属性: display, position, float, clear, visibility, overflow
自身属性: width, height, margin, padding, border, background(透明背景CSS3除外)
文本属性: color, font, text-decoration, text-align, vertical-align, white-space, break-word
其他属性(CSS3): content, currsor, border-radius, box-shadow, text-shadow, background: linear-gradient …
2. CSS布局流程
为了提高网页制作的效率,布局时通常有以下的布局流程,具体如下:
必须确定页面版心(可视区),我们测量可以得知
分析页面中的行模块,以及每个行模块中的列模块.其实页面布局就是一行一行罗列出来的
制作HTML结构,我们还是遵循,先有结构后有样式的原则,结构永远最重要
然后开始运行盒子模型的原理,通过DIV+CSS布局来控制网页的各个模块
3. CSS文件名
主要的 master.css 模块 module.css 基本共用 base.css 布局、版面 layout.css
主题 themes.css 专栏 columns.css 文字 font.css 表单 forms.css
补丁 mend.css 打印 print.css 公共样式: common.css
4. 常用的CSS命名
头:header
内容:content/container
尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center
登录条:loginbar
标志:logo
广告:banner
页面主体:main
热点:hot
新闻:news
下载:download
子导航:subnav
菜单:menu
标签:tags
子菜单:submenu
搜索:search
友情链接:friendlink
页脚:footer
版权:copyright
滚动:scroll
内容:content
文章列表:list
提示信息:msg
小技巧:tips
栏目标题:title
加入:joinus
指南:guide
服务:service
注册:regsiter
状态:status
投票:vote
合作伙伴:partner
关于: about
账户: account
箭头图标: arrow
文章: article
边栏: aside
音频: audio
头像: avatar
背景: bg,background
栏(工具类): bar
品牌化: branding
分类: category
面包屑: crumb,breadcrumbs
按钮: btn,button
标题,说明: caption
图表: chart
清除浮动: clearfix
关闭: close
列: col,column
评论: comment
社区: community
容器: container
内容: content
版权: copyright
当前态,选中态: current
默认: default
描述: description
细节: details
不可用: disabled
文章,博文: entry
错误: error
偶数,常用于多行列表或表格中: even
失败(提示): fail
专题: feature
收起: fewer
用于表单的输入区域: field
图: figure
筛选: filter
第一个,常用于列表中: first
隐藏: hide
页脚: footer
论坛: forum
画廊: gallery
模块,清除浮动: group
页头: header
帮助: help
高亮: hightlight
主页: home
图标: icon
信息: info,information
最后一个,常用语列表: last
链接: links
登录: login
退出: logout
标志: logo
主题: main
菜单: menu
作者、更新时间等信息栏,一般位于标题之下: meta
模块: module
更多(展开): more
消息: msg,message
导航: nav,navigation
下一页: next
小块: nub
奇数,常用于多行列表或表格中: odd
鼠标离开: off
鼠标移过: on
输出: output
分页: pagination
弹窗: pop,popup
预览: preview
上一页: previous
主要: primary
进度条: progress
促销: promotion
推荐: rcommd,recommendations
注册: reg,register
顶部导航: shortcut
保存: save
搜索: search
次要: secondary
区块: section
已选: selected
分享: share
显示: show
边栏,侧栏: sidebar
排序: sort
幻灯片,图片切换: slide
次级的,子级的: sub
提交: submit
订阅: subscribe
副标题: subtitle
成功(提示): success
摘要: summary
标签: tab
表格: table
文本: txt,text
缩略图: thumbnail
时间: time
提: tips
标题: title
视频: video
容器,包,一般用于最外层: wrap
容器,包,一般用于最外层: wrapper
5. id命名
1. 页面结构
容器: container
页头:header
内容:content/container
页面主体:main
页尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center
2. 导航
导航:nav
主导航:mainnav
子导航:subnav
顶导航:topnav
边导航:sidebar
左导航:leftsidebar
右导航:rightsidebar
菜单:menu
子菜单:submenu
标题: title
摘要: summary
3. 功能
标志:logo
广告:banner
登陆:login
登录条:loginbar
注册:register
搜索:search
功能区:shop
标题:title
加入:joinus
状态:status
按钮:btn
滚动:scroll
标籤页:tab
文章列表:list
提示信息:msg
当前的: current
小技巧:tips
图标: icon
注释:note
指南:guild
服务:service
热点:hot
新闻:news
下载:download
投票:vote
合作伙伴:partner
友情链接:link
版权:copyright
按钮: btn,button
标题,说明: caption
图表: chart
清除浮动: clearfix
关闭: close
列: col,column
评论: comment
社区: community
容器: container
内容: content
版权: copyright
当前态,选中态: current
默认: default
描述: description
细节: details
不可用: disabled
文章,博文: entry
错误: error
偶数,常用于多行列表或表格中: even
失败(提示): fail
专题: feature
收起: fewer
用于表单的输入区域: field
图: figure
筛选: filter
第一个,常用于列表中: first
隐藏: hide
页脚: footer
论坛: forum
画廊: gallery
模块,清除浮动: group
页头: header
帮助: help
高亮: hightlight
主页: home
图标: icon
信息: info,information
最后一个,常用语列表: last
链接: links
登录: login
退出: logout
标志: logo
主题: main
菜单: menu
作者、更新时间等信息栏,一般位于标题之下: meta
模块: module
更多(展开): more
消息: msg,message
导航: nav,navigation
下一页: next
小块: nub
奇数,常用于多行列表或表格中: odd
鼠标离开: off
鼠标移过: on
输出: output
分页: pagination
弹窗: pop,popup
预览: preview
上一页: previous
主要: primary
进度条: progress
促销: promotion
推荐: rcommd,recommendations
注册: reg,register
顶部导航: shortcut
保存: save
搜索: search
次要: secondary
区块: section
已选: selected
分享: share
显示: show
边栏,侧栏: sidebar
排序: sort
幻灯片,图片切换: slide
次级的,子级的: sub
提交: submit
订阅: subscribe
副标题: subtitle
成功(提示): success
摘要: summary
标签: tab
表格: table
文本: txt,text
缩略图: thumbnail
时间: time
提: tips
标题: title
视频: video
容器,包,一般用于最外层: wrap
容器,包,一般用于最外层: wrapper
```
### 5. id命名
**1. 页面结构**
```tes
容器: container
页头:header
内容:content/container
页面主体:main
页尾:footer
导航:nav
侧栏:sidebar
栏目:column
页面外围控制整体佈局宽度:wrapper
左右中:left right center
```
**2. 导航**
```tes
导航:nav
主导航:mainnav
子导航:subnav
顶导航:topnav
边导航:sidebar
左导航:leftsidebar
右导航:rightsidebar
菜单:menu
子菜单:submenu
标题: title
摘要: summary
```
**3. 功能**
```tes
标志:logo
广告:banner
登陆:login
登录条:loginbar
注册:register
搜索:search
功能区:shop
标题:title
加入:joinus
状态:status
按钮:btn
滚动:scroll
标籤页:tab
文章列表:list
提示信息:msg
当前的: current
小技巧:tips
图标: icon
注释:note
指南:guild
服务:service
热点:hot
新闻:news
下载:download
投票:vote
合作伙伴:partner
友情链接:link
版权:copyright
```
你可能感兴趣的:(HTML5+CSS3,html5,css3,css)
Electron打包文件生成.exe文件打开即可使用
糕冷小美n
electron javascript 前端
1、Electron打包,包括需要下载的内容和环境配置步骤注意:Electron是一个使用JavaScript、HTML和CSS构建跨平台桌面应用程序的框架首先需要电脑环境有Node.js和npm我之前的文章有关nvm下载node的说明也可以去官网下载检查是否有node和npm环境命令node-vnpm-v输出版本号,说明安装成功2、创建Electron项目2.1创建项目目录打开命令行工具,创建一
致现在的我与未来的我:编程长河中的摆渡手札
星糖曙光
后端语言(node javascript vue等等) 笔记 学习 深度学习 人工智能 网络
致现在的我与未来的我:编程长河中的摆渡手札一、技术积累:从萤火微光到星河初现(约3000字)前端的启蒙:HTML/CSS与"所见即所得"的魔法“代码是诗,但诗未必能成为产品”,初学编程时,我如《禅与摩托车维修艺术》中追寻"良质"的探索者,在W3School的教程中笨拙地敲下第一行。记得仿写京东首页时,一个浮动布局的错位让我通宵调试,最终发现竟是未闭合的标签——这让我想起《代码大全》中的警示:“计算
C++在线OJ负载均衡项目
平凡的小y
c++ 开发语言
1.演示项目项目源码链接:2.项目所用技术和开发环境所用技术C++STL标准库Boost准标准库(字符串切割)cpp-httplib第三方开源网络库ctemplate第三方开源前端网页渲染库jsoncpp第三方开源序列化、反序列化库负载均衡设计MySQLCconnectAce前端在线编辑器html/css/js/jquery/ajax开发环境Ubuntu云服务器vscodeMysqlWorkben
大屏自适应终极方案:基于比例缩放的完美适配实践(Vue3版)
FFF-X
html5 javascript
需求背景在数据可视化大屏开发中,我们常面临这样的挑战:如何让1920*1080的设计稿在不同分辨率设备上完美呈现?传统的响应式布局难以应对复杂的大屏元素排布,本文介绍一种基于CSS3变换的终极适配方案实现思路本方案的核心是动态比例缩放,通过以下关键步骤实现:基准比例锁定:基于设计稿宽高比(16:9)建立基准比例视口实时检测:通过resize事件监听窗口变化智能比例判断:当视口更宽时:保持高度基准,
Font Awesome 的使用
FFF-X
第一种直接使用命令npminstallfont-awesome--save进行安装,安装成功后里面包含样式和字体,然后直接引入样式就可以了入口js中引入import'font-awesome/css/font-awesome.min.css'然后就可以使用了,例如下面这样第二种cdn要使用FontAwesome图标,请在HTML页面的部分中添加以下行:1、国内推荐CDN:2、海外推荐CDN推荐第二
前端性能优化-知识点
甲亿
前端 性能优化
Web性能优化意义1.减少整体加载时间:减小文件体积、减少HTTP请求、使用预加载。2.使网站尽快可用:仅加载首屏内容,其他内容根据需要进行懒加载。3.平滑和交互性:使用CSS替代JS动画、减少UI重绘。4.加载表现形式:使用加载动画、进度条、骨架屏等过渡信息,让用户感觉到页面加载更快。5.性能监测:性能指标、性能测试、性能监控持续优化等Web性能指标RAIL性能模型Response(响应):快速
性能优化中如何“避免链接关键请求”
混血哲谈
性能优化
在性能优化中,“避免链接关键请求”是指通过优化资源加载顺序和依赖关系,减少关键渲染路径中的链式请求(CriticalRequestChains),从而加速页面加载。以下是具体策略及实施步骤:一、什么是“关键请求链”?定义:关键请求链是浏览器在渲染首屏内容时必须按顺序加载的资源序列。例如:HTMLCSSFont浏览器需先下载HTML,解析后请求CSS,CSS解析后发现需要字体文件,再请求字体。问题:
.net 4.0 webServices 的使用,从前端到后端,代码超全。
静静香甜
.net 前端 后端 c#
1、创建webServices:创建之后会生成两个文件,分别是:SecurityWebService.asmx,SecurityWebService.asmx.csSecurityWebService.asmx代码:SecurityWebService.asmx.cs代码:usingNewtonsoft.Json;usingNewtonsoft.Json.Linq;usingSystem;usin
HTML+CSS案例展示(CSS3D效果旋转相册)
hacalili
html css 前端 css3
参考来源:黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程_哔哩哔哩_bilibili效果展示:总结:transform:translate(x,y)rotate(180deg)scale()...顺序对最后的效果有影响,需要根据需求安排位移和其他属性的顺序;实现暂停动画效果:animation-play-state:paused;经常和鼠标经过等其
html5 相册翻转效果,HTML5 css3:3D旋转木马效果相册
岑依惜
html5 相册翻转效果
这篇博客的目的是因为上篇HTML5CSS3专题诱人的实例CSS3打造百度贴吧的3D翻牌效果中有个关于CSS3D效果的比较重要的知识点没讲到,就是perspective和tranlateY效果图:嘿嘿,我把大学毕业时的一些照片,做成旋转木马,绕着我大文理旋转,不忘母校的培育之恩~1、perspectiveperspective属性包括两个属性:none和具有单位的长度值。其中perspective属
HTML5+CSS实现图片3D旋转效果,附音乐
宁醉小白
html5 前端 html
利用程序呈现图片,可以俘获一众女生的心,增加音乐可以实现图片变化的同时也带上了想要得到效果,如此一程序实乃众人之喜。先看看程序呈现的效果,还是特别吸引人的。先在网上爬取想要呈现的美女照片,存放在文件夹img-one,与程序路径一致。图片像素需进行调整,同一面图片可以使用同一个图片,保持图片像素一致的同时也增加了立体感。第二张02.jpg和2.jpg可以倒着放,这样在程序实现的时候,可以和其他方向的
炫酷的HTML5粒子动画特效实现详解
木木黄木木
html5 前端 html
炫酷的HTML5粒子动画特效实现详解这里写目录标题炫酷的HTML5粒子动画特效实现详解项目介绍技术栈项目架构1.HTML结构2.样式设计核心实现1.粒子类设计2.动画效果实现星空效果烟花效果雨滴效果3.鼠标交互性能优化效果展示总结项目介绍本文将详细介绍如何使用HTML5Canvas技术实现一个炫酷的粒子动画特效系统。该系统包含三种不同的动画效果:星空、烟花和雨滴,并支持鼠标交互功能,能够为网页增添
HTML实现酷炫3D相册
算法与编程之美
编程之美 css html js css3 javascript
欢迎点击「算法与编程之美」↑关注我们!本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。欢迎加入团队圈子!与作者面对面!直接点击!目录1、创建文件目录2、调背景色3、制作3D相册4、将图片散开,围成一圈。5、绘制透明底盘6、最终效果1、创建文件目录在Hbuilder在新建一个目录,创建css和js文件。图12、调背景色在style块里面给整个页面渲染成黑色调。*{padd
CSS动画:逐帧动画与steps()函数
双囍菜菜
前端随记 css 前端
逐帧动画与steps()函数:精准掌控动画节奏关键词:steps()函数、雪碧图、精灵动画、帧动画优化文章目录逐帧动画与steps()函数:精准掌控动画节奏一、逐帧动画的本质:时间函数的维度突破1.1线性动画的局限性1.2steps()函数数学解析二、视觉化解析:steps()工作原理2.1时间轴切片演示2.2与线性动画对比三、商业级案例:RPG游戏角色行走动画3.1雪碧图制作规范3.2完整实现代
【Html+CSS】3D旋转相册
小木荣
web前端 css html 3d
3D旋转木马相册&3D盒子相册因为代码大部分相同,就放一起了注释一下就是另一个相册3D旋转木马相册body{background-color:#000;/*视距,使子元素获得视距效果*/perspective:900px;}section{margin:20vhauto;position:relative;width:200px;height:200px;/*开启3D空间*/transform-s
SassScript:Sass中的编程特性详解
jiajia651304
sass 前端 css
Sass(SyntacticallyAwesomeStylesheets)是一种强大的CSS预处理器,它允许开发者使用类似于编程语言的语法来编写CSS,然后通过编译生成标准的CSS代码。SassScript是Sass中的编程特性集合,它包含了变量、嵌套规则、混合、函数以及控制指令等,极大地提高了CSS的开发效率和可维护性。1.变量SassScript中的变量允许开发者在样式表中存储和重复使用值。变
OpenLayers集成天地图服务开发指南
喆星时瑜
WebGIS # 天地图 OpenLayers GIS 天地图 WebGIS HTML 地图 地图API
以下是一份面向GIS初学者的OpenLayers开发详细教程,深度解析代码:一、开发环境搭建1.1OpenLayers库引入ol.css:包含地图控件、图层等可视化样式ol.js:OpenLayers核心功能库推荐使用固定版本号(如v7.3.0)确保稳定性1.2地图容器设置.map{//设置地图控件显示尺寸height:95vh;width:95vw;}使用视口单位(vh/vw)实现响应式布局保留
为什么后端路由需要携带 /api 作为前缀?前端如何设置基础路径 /api?
z2637305611
前端
一、为什么后端路由需要携带/api作为前缀?1.区分API端点与其他路由在Web应用程序中,后端不仅需要处理API请求,还可能需要处理静态资源(如HTML、CSS、JS文件)或其他服务(如WebSocket)。通过为API路由添加/api前缀,可以清晰地将其与其他请求区分开来,避免路由冲突。例如:API请求:https://example.com/api/users静态资源请求:https://e
Scrapy 入门教程
zru_9602
爬虫 scrapy
Scrapy入门教程Scrapy是一个用于爬取网站数据的Python框架,功能强大且易于扩展。本文将介绍Scrapy的基本概念、安装方法、使用示例,并展示如何编写一个基本的爬虫。1.什么是Scrapy?Scrapy是一个开源的、用于爬取网站数据的框架,主要特点包括:高效、异步的爬取机制强大的XPath和CSS选择器解析能力内置中间件,支持代理、去重等功能易于扩展,适用于各种爬虫需求2.安装Scra
前端开发:这就是终点吗?
前端javascript
ReactHook深入浅出CSS技巧与案例详解vue2与vue3技巧合集VueUse源码解读让我们重新回到2021年后远程办公风潮兴起的日子,那时候,程序员岗位炙手可热。机会遍地都是,你甚至只需参加少量培训,通过面试后便能轻松收获年薪超15万的工作,还有余暇拍摄一段《程序员的一天》上传网络。经过短短一年左右的培训,你便踏上了年薪六位数的职业道路——那时候,当程序员似乎是一个人人羡慕的理想职业。然而
HTML5实现左右滑动数据变化
ice_junjun
HTML 左右滑动
在HTML中怎么样实现左右滑动?代码附上Bootstrap实例-下拉菜单(Dropdowns)-->-->欢迎登陆页面!这是一个超大屏幕(Jumbotron)的实例。学习更多-->响应式表格布局产品付款日期状态产品123/11/2013待发货产品210/11/2013发货中产品320/10/2013待确认产品420/10/2013已退货产品123/11/2013待发货产品210/11/2013发货
HTTP请求过程详解
酥暮沐
http 网络协议 网络
一、整体流程概述HTTP请求过程从用户输入URL开始,到页面完成渲染结束,主要分为DNS解析、建立连接、发送请求、处理响应、渲染页面、断开连接六个核心阶段。重要:当用户输入URL后,浏览器首先解析域名,通过DNS查询获取服务器IP。接着通过三次握手建立TCP连接,如果是HTTPS还会进行TLS加密协商。然后浏览器发送HTTP请求,服务器处理后返回响应数据。浏览器解析HTML/CSS,构建DOM和渲
前端如何实现鼠标移上这个元素,另外一个元素变色
=^_^=银爪
css 前端 javascript
1、使用CSS选择器和伪类来实现这个效果具体步骤如下:获取要修改样式的元素使用CSS选择器选中要操作的元素,并使用伪类“:hover”来指定当鼠标悬停在该元素上时应用的样式指定要应用的样式例如,如果您有一个元素ID为“target”,需要将其颜色更改为红色,当鼠标移到ID为“trigger”的元素上时,可以使用以下代码:#trigger:hover#target{color:red;}这段代码指定
html hover作用另外一个对象,css:hover状态改变另一个元素样式的使用
吃货喵
html hover作用另外一个对象
效果演示css:hover状态改变另一个元素样式的使用.box{width:150px;height:150px;background-color:#069;line-height:150px;text-align:center;margin:20px0;color:#FFF;}.change{font-size:20px;color:#0cf;}/*情景一:两个是兄弟元素*/.box:hover
单页响应式 图片懒加载HTML页面
Wiktok
css javascript 前端
设计说明响应式设计:使用CSSGrid布局,根据屏幕宽度自动调整色块数量在不同设备上都有良好的显示效果懒加载:使用标签的loading="lazy"属性实现原生懒加载图片在滚动到视口附近时才会加载色块展示:使用随机生成的色块作为内容展示每个色块都有独特的颜色和编号色块有悬停效果和阴影效果分类展示:将色块分为自然风光、城市建筑和抽象艺术三类每类都有独立的标题和网格布局响应式懒加载页面*{margin
CSS特效花样鼠标悬停效果
DTcode7
HTML网站开发 # 前端基础入门三大核心之CSS HTML CSS web css3 网页开发
CSS特效花样鼠标悬停效果鼠标悬停效果概述基本概念与作用示例一:基本的颜色变化代码解释示例二:渐变背景色代码解释示例三:放大与阴影效果代码解释示例四:文字提示代码解释示例五:旋转和翻转代码解释实际工作中的使用技巧在现代Web开发中,良好的用户体验往往意味着不仅仅要有一个功能完备的应用程序,还需要具备吸引人的视觉效果。鼠标悬停效果便是提升网站交互性和吸引力的一种常见方式。本文将探讨如何运用CSS来实
CSS实现当鼠标停留在一个元素上时,使得两个元素的样式发生改变
Lipn
前端 CSS css 前端
这里我们实现一个鼠标停留在input框时,使得input和button两个元素的边框都变颜色首先该元素结构如下,HTML是这样的第一步:当鼠标悬停在input上时,使用css伪类选择器,代码如下:这里空格是后代选择器,:hover是伪类选择器.testinput:hover{}第二步:当鼠标悬停在input上时,选中button元素:从html可以看到input和button属于兄弟关系,相邻兄弟
CSS实现当鼠标悬停在一个元素上时,另一个元素的样式发生变化的效果
Wiktok
css 前端
CSS可以实现当鼠标悬停在一个元素上时,另一个元素的样式发生变化的效果。可以通过以下几种方法来实现:1.使用兄弟选择器(AdjacentSiblingSelector)如果两个元素是兄弟关系(即它们有相同的父元素),可以使用+或~选择器来实现。示例代码:.element1:hover+.element2{background-color:yellow;}悬停在我上面另一个元素在这个例子中,当鼠标悬
Geotrust SSL证书和SymantecSSL证书哪个好?
weixin_34293246
网络
GeoTrust是全球第二大数字证书颁发机构(CA),也是身份认证和信任认证领域的领导者,GeoTrust始终坚持低成本地部署SSL数字证书和实现各种身份认证。其在2001年到2006年占领全球市场25%的市场分额,在全球150多个国家有超过10万个用户在使用GeoTrust的安全产品,为用户的网站信息进行保驾护航。Symantec作为信息安全领域全球领先的解决方案提供商,也是全球最大的信息安全厂
HTML5前端第七章节
NaZiMeKiY
HTML5 1024程序员节
本章节为前端网页页面实战,包含我们之前所学的全部内容一.创建项目目录1.网站根目录:网站根目录指的是存放网站的第一层文件夹,内部包含当前网站的所有素材,包含HTML,CSS,需要的素材图片等等2.根目录之下的文件夹(1).images文件夹:存放固定使用的图片素材(2).uploads文件夹:存放非固定使用的图片素材(3).CSS文件夹:存放CSS文件(使用link标签引入)在CSS文件夹中又分为
Enum用法
不懂事的小屁孩
enum
以前的时候知道enum,但是真心不怎么用,在实际开发中,经常会用到以下代码:
protected final static String XJ = "XJ";
protected final static String YHK = "YHK";
protected final static String PQ = "PQ";
【Spark九十七】RDD API之aggregateByKey
bit1129
spark
1. aggregateByKey的运行机制
/**
* Aggregate the values of each key, using given combine functions and a neutral "zero value".
* This function can return a different result type
hive创建表是报错: Specified key was too long; max key length is 767 bytes
daizj
hive
今天在hive客户端创建表时报错,具体操作如下
hive> create table test2(id string);
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataSto
Map 与 JavaBean之间的转换
周凡杨
java 自省 转换 反射
最近项目里需要一个工具类,它的功能是传入一个Map后可以返回一个JavaBean对象。很喜欢写这样的Java服务,首先我想到的是要通过Java 的反射去实现匿名类的方法调用,这样才可以把Map里的值set 到JavaBean里。其实这里用Java的自省会更方便,下面两个方法就是一个通过反射,一个通过自省来实现本功能。
1:JavaBean类
1 &nb
java连接ftp下载
g21121
java
有的时候需要用到java连接ftp服务器下载,上传一些操作,下面写了一个小例子。
/** ftp服务器地址 */
private String ftpHost;
/** ftp服务器用户名 */
private String ftpName;
/** ftp服务器密码 */
private String ftpPass;
/** ftp根目录 */
private String f
web报表工具FineReport使用中遇到的常见报错及解决办法(二)
老A不折腾
finereport web报表 java报表 总结
抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、没有返回数据集:
在存储过程中的操作语句之前加上set nocount on 或者在数据集exec调用存储过程的前面加上这句。当S
linux 系统cpu 内存等信息查看
墙头上一根草
cpu 内存 liunx
1 查看CPU
1.1 查看CPU个数
# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
2
**uniq命令:删除重复行;wc –l命令:统计行数**
1.2 查看CPU核数
# cat /proc/cpuinfo | grep "cpu cores" | u
Spring中的AOP
aijuans
spring AOP
Spring中的AOP
Written by Tony Jiang @ 2012-1-18 (转)何为AOP
AOP,面向切面编程。
在不改动代码的前提下,灵活的在现有代码的执行顺序前后,添加进新规机能。
来一个简单的Sample:
目标类:
[java]
view plain
copy
print
?
package&nb
placeholder(HTML 5) IE 兼容插件
alxw4616
JavaScript jquery jQuery插件
placeholder 这个属性被越来越频繁的使用.
但为做HTML 5 特性IE没能实现这东西.
以下的jQuery插件就是用来在IE上实现该属性的.
/**
* [placeholder(HTML 5) IE 实现.IE9以下通过测试.]
* v 1.0 by oTwo 2014年7月31日 11:45:29
*/
$.fn.placeholder = function
Object类,值域,泛型等总结(适合有基础的人看)
百合不是茶
泛型的继承和通配符 变量的值域 Object类转换
java的作用域在编程的时候经常会遇到,而我经常会搞不清楚这个
问题,所以在家的这几天回忆一下过去不知道的每个小知识点
变量的值域;
package 基础;
/**
* 作用域的范围
*
* @author Administrator
*
*/
public class zuoyongyu {
public static vo
JDK1.5 Condition接口
bijian1013
java thread Condition java多线程
Condition 将 Object 监视器方法(wait、notify和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。
条件(也称为条件队列或条件变量)为线程提供了一
开源中国OSC源创会记录
bijian1013
hadoop spark MemSQL
一.Strata+Hadoop World(SHW)大会
是全世界最大的大数据大会之一。SHW大会为各种技术提供了深度交流的机会,还会看到最领先的大数据技术、最广泛的应用场景、最有趣的用例教学以及最全面的大数据行业和趋势探讨。
二.Hadoop
&nbs
【Java范型七】范型消除
bit1129
java
范型是Java1.5引入的语言特性,它是编译时的一个语法现象,也就是说,对于一个类,不管是范型类还是非范型类,编译得到的字节码是一样的,差别仅在于通过范型这种语法来进行编译时的类型检查,在运行时是没有范型或者类型参数这个说法的。
范型跟反射刚好相反,反射是一种运行时行为,所以编译时不能访问的变量或者方法(比如private),在运行时通过反射是可以访问的,也就是说,可见性也是一种编译时的行为,在
【Spark九十四】spark-sql工具的使用
bit1129
spark
spark-sql是Spark bin目录下的一个可执行脚本,它的目的是通过这个脚本执行Hive的命令,即原来通过
hive>输入的指令可以通过spark-sql>输入的指令来完成。
spark-sql可以使用内置的Hive metadata-store,也可以使用已经独立安装的Hive的metadata store
关于Hive build into Spark
js做的各种倒计时
ronin47
js 倒计时
第一种:精确到秒的javascript倒计时代码
HTML代码:
<form name="form1">
<div align="center" align="middle"
java-37.有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接
bylijinnan
java
public class MaxCatenate {
/*
* Q.37 有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,
* 问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。
*/
public static void main(String[] args){
mongoDB安装
开窍的石头
mongodb安装 基本操作
mongoDB的安装
1:mongoDB下载 https://www.mongodb.org/downloads
2:下载mongoDB下载后解压
 
[开源项目]引擎的关键意义
comsci
开源项目
一个系统,最核心的东西就是引擎。。。。。
而要设计和制造出引擎,最关键的是要坚持。。。。。。
现在最先进的引擎技术,也是从莱特兄弟那里出现的,但是中间一直没有断过研发的
 
软件度量的一些方法
cuiyadll
方法
软件度量的一些方法http://cuiyingfeng.blog.51cto.com/43841/6775/在前面我们已介绍了组成软件度量的几个方面。在这里我们将先给出关于这几个方面的一个纲要介绍。在后面我们还会作进一步具体的阐述。当我们不从高层次的概念级来看软件度量及其目标的时候,我们很容易把这些活动看成是不同而且毫不相干的。我们现在希望表明他们是怎样恰如其分地嵌入我们的框架的。也就是我们度量的
XSD中的targetNameSpace解释
darrenzhu
xml namespace xsd targetnamespace
参考链接:
http://blog.csdn.net/colin1014/article/details/357694
xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找:
例如:以下xsd文件,就出现了该错误,即便是在一
什么是RAID0、RAID1、RAID0+1、RAID5,等磁盘阵列模式?
dcj3sjt126com
raid
RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
Mir
yii2 restful web服务快速入门
dcj3sjt126com
PHP yii2
快速入门
Yii 提供了一整套用来简化实现 RESTful 风格的 Web Service 服务的 API。 特别是,Yii 支持以下关于 RESTful 风格的 API:
支持 Active Record 类的通用API的快速原型
涉及的响应格式(在默认情况下支持 JSON 和 XML)
支持可选输出字段的定制对象序列化
适当的格式的数据采集和验证错误
MongoDB查询(3)——内嵌文档查询(七)
eksliang
MongoDB查询内嵌文档 MongoDB查询内嵌数组
MongoDB查询内嵌文档
转载请出自出处:http://eksliang.iteye.com/blog/2177301 一、概述
有两种方法可以查询内嵌文档:查询整个文档;针对键值对进行查询。这两种方式是不同的,下面我通过例子进行分别说明。
二、查询整个文档
例如:有如下文档
db.emp.insert({
&qu
android4.4从系统图库无法加载图片的问题
gundumw100
android
典型的使用场景就是要设置一个头像,头像需要从系统图库或者拍照获得,在android4.4之前,我用的代码没问题,但是今天使用android4.4的时候突然发现不灵了。baidu了一圈,终于解决了。
下面是解决方案:
private String[] items = new String[] { "图库","拍照" };
/* 头像名称 */
网页特效大全 jQuery等
ini
JavaScript jquery css html5 ini
HTML5和CSS3知识和特效
asp.net ajax jquery实例
分享一个下雪的特效
jQuery倾斜的动画导航菜单
选美大赛示例 你会选谁
jQuery实现HTML5时钟
功能强大的滚动播放插件JQ-Slide
万圣节快乐!!!
向上弹出菜单jQuery插件
htm5视差动画
jquery将列表倒转顺序
推荐一个jQuery分页插件
jquery animate
swift objc_setAssociatedObject block(version1.2 xcode6.4)
啸笑天
version
import UIKit
class LSObjectWrapper: NSObject {
let value: ((barButton: UIButton?) -> Void)?
init(value: (barButton: UIButton?) -> Void) {
self.value = value
Aegis 默认的 Xfire 绑定方式,将 XML 映射为 POJO
MagicMa_007
java POJO xml Aegis xfire
Aegis 是一个默认的 Xfire 绑定方式,它将 XML 映射为 POJO, 支持代码先行的开发.你开发服 务类与 POJO,它为你生成 XML schema/wsdl
XML 和 注解映射概览
默认情况下,你的 POJO 类被是基于他们的名字与命名空间被序列化。如果
js get max value in (json) Array
qiaolevip
每天进步一点点 学习永无止境 max 纵观千象
// Max value in Array
var arr = [1,2,3,5,3,2];Math.max.apply(null, arr); // 5
// Max value in Jaon Array
var arr = [{"x":"8/11/2009","y":0.026572007},{"x"
XMLhttpRequest 请求 XML,JSON ,POJO 数据
Luob.
POJO json Ajax xml XMLhttpREquest
在使用XMlhttpRequest对象发送请求和响应之前,必须首先使用javaScript对象创建一个XMLHttpRquest对象。
var xmlhttp;
function getXMLHttpRequest(){
if(window.ActiveXObject){
xmlhttp:new ActiveXObject("Microsoft.XMLHTTP
jquery
wuai
jquery
以下防止文档在完全加载之前运行Jquery代码,否则会出现试图隐藏一个不存在的元素、获得未完全加载的图像的大小 等等
$(document).ready(function(){
jquery代码;
});
<script type="text/javascript" src="c:/scripts/jquery-1.4.2.min.js&quo