CSS3那些不为人知的高级属性

尽管现代浏览器已经支持了众多的CSS3属性,但是大部分设计师和开发人员貌似依然在关注于一些很“主流”的属性,如border-radius、box-shadow或者transform等。它们有良好的文档、很好的测试并且最常用到,所以如果你最近在设计网站,你很难能脱离它们。

但是,隐藏在浏览器的大宝库中是一些高级的、被严重低估的属性,但是它们并没有得到太多的关注。或许它们中的一些应该这样(被无视),但是其它的属性应该得到更多的认可。最伟大的财富隐藏在Webkit的下面,而且在iPhone、iPad和Android apps的时代,开始了解它们会灰常有用。就连Firefox等使用的Gecko引擎,也提供了一些独特的属性。在本文中,我们将看一下鲜为人知的CSS 2.1和CSS3属性以及它们在现代浏览器中的支持情况。

CSS的未来:一些试验性CSS属性

说明: 对于每个属性,我们这里规定:”WebKit” 即指代使用Webkit内核的浏览器(Safari、Chrome、iPhone、iPad、Android等),”Gecko“指代采用Gecko内核的浏览器(Firefox等)。然后有的属性是官方CSS 2.1. 规范的一部分,这意味着更多的浏览器甚至一些古老的浏览器也会支持它们。最后,一个CSS3 的标签标明遵守这个标准,被最新的浏览器版本——比如Firefox 4、Chrome 10、Safari 5、Opera 11.10以及IE9支持的属性。

WebKit特有属性

-webkit-mask

这个属性是相当强大的,所以详细的介绍超出了本文的范畴,它非常值得深入研究,因为它可以在实际应用中为你省掉很多时间。

-webkit-mask让为一个元素添加蒙板成为可能,从而你可以创建任意形状的花样。蒙板可以是CSS3渐变或者半透明的PNG图片。蒙板元素的alpha值为0的时候会覆盖下面的元素,为1的时候会完全显示下面的内容。相关的属性有-webkit-mask-clip、 -webkit-mask-position 和-webkit-mask-repeat等,严重依赖来自于background中的语法。更多信息请查看webkit的博客和下面的链接。

CSS的未来:一些试验性CSS属性

示例

图片蒙板:

1
2
3
4
.element{
background: url(img/image.jpg) repeat;
-webkit-mask: url(img/mask.png);
}

示例

渐变蒙板:

1
2
3
4
.element2 {
background: url(img/image.jpg) repeat;
-webkit-mask: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
}

扩展阅读: Safari Developer Library

-webkit-text-stroke

CSS边框的一个不足就是只有矩形的元素才能使用。-webkit-text-stroke可以为文字添加边框。它不但可以设置文字边框的宽度,也能设置其颜色。而且,配合使用color: transparent属性,你还可以创建镂空的字体!

示例

为所有的<h1>标题设定一个2px宽的蓝色边框:

1
h1 {-webkit-text-stroke: 2px blue}

另一个特性是,通过设定1px的透明边框,可以让文字变得平滑:

1
h2 {-webkit-text-stroke: 1px transparent}

创建红色镂空字体:

1
2
3
4
h3 {
color: transparent;
-webkit-text-stroke: 4px red;
}

CSS的未来:一些试验性CSS属性

扩展阅读: Safari Developer Library

-webkit-nbsp-mode

换行有时是很棘手的事情:有时你希望文字在适当的地方断行(而不是折行),有时你又不想这样。一个能控制这个的属性就是-webkit-nbsp-mode,它让你可以改变&nbsp;空白符的行为,强制文字在它被用到的地方断行。通过设置值为space即可实现。

扩展阅读: Safari Developer Library

-webkit-tap-highlight-color

这个属性只用于iOS (iPhone和iPad)。当你点击一个链接或者通过Javascript定义的可点击元素的时候,它就会出现一个半透明的灰色背景。要重设这个表现,你可以设置-webkit-tap-highlight-color为任何颜色。

想要禁用这个高亮,设置颜色的alpha值为0即可。

示例

设置高亮色为50%透明的红色:

1
-webkit-tap-highlight-color: rgba(255,0,0,0.5);

浏览器支持: 只有iOS(iPhone和iPad).

扩展阅读: Safari Developer Library

zoom: reset

通常来说,zoom是一个IE专用的属性。但是webkit也开始支持它了,而且使用值reset,webkit可以实现不错的效果(有趣的是,IE不支持这个值)。它让你重设掉浏览器中正常的缩放行为——如果某个元素被声明了zoom:reset,页面上的其它元素在用户放大页面的时候都会跟着放大。

注:其实,我们常用来禁用chrome强制字体大小的时候用到的-webkit-text-size-adjust:none;也是可以实现类似的效果,不同的是,设置该属性的元素内的文字不会被放大/缩小,但是页面上的其它元素则会变化——神飞

扩展阅读: Safari Developer Library

-webkit-margin-collapse

这个属性属于限制级的,但是它还是非常值得关注。通常,两个相邻的元素的margin会折叠起来(collapse)。这意味着第一个元素的底部的边距和第二个元素的头部边距会被合并到一起。

最常见的例子就是两个相邻的<p>元素会共享他们的margin值。想要控制这个表现,我们可以使用-webkit-margin-collapse及其分拆后的-webkit-margin-top-collapse、-webkit-margin-bottom-collapse等属性。默认值是collapse,值separate则停止共享margin值,也就是说,第一个元素的底部边距和第二个元素的头部边距会正常叠加。

CSS的未来:一些试验性CSS属性

扩展阅读: Safari Developer Library

-webkit-box-reflect

你还记得几乎每个网站都把他们的网站logo或者头部的文字做成倒影的那个年代吗?谢天谢地,那个年代已经过去了,但是如果你要在一些按钮、导航、或者其他UI元素上更好的使用这个技术,-webkit-box-reflect是更好的选择

这个属性接受above、below、left和right四个关键词,它们设置倒影的方向,它们和一个设置元素和它的倒影建的距离的数字一起使用。同时,蒙板图片也是同样支持的(看上面的-webkit-mask部分,不要搞混了哈)。倒影会自动生成并对布局没有影响。下面的元素只用了CSS,第二个按钮用了-webkit-box-reflect属性。

CSS的未来:一些试验性CSS属性

示例

这个倒影会出现在它的父元素的下面并有5px的间距:

1
-webkit-box-reflect: below 5px;

这个倒影会投射到元素的右边,没有间距。然后,一个蒙板将会被应用(url(mask.png)):

1
-webkit-box-reflect: right 0 url(mask.png);

扩展阅读: Safari Developer Library

-webkit-marquee

另一个属性让我们回到美好的从前:那个遍地marquee(跑马灯)的年代。有趣的是这个已经被遗弃的标签反而在现在变的很有用,比如我们在比较小的手机屏幕上切换内容,如果不断行的话文字将不能完全显示。

ozPDA创建的这个天气的应用很好的使用了它。 (如果你木有看到变换的文字,可以尝试换一个城市来体验。需要使用WebKit内核浏览器)

示例

1
2
3
4
5
6
7
8
.marquee {
white-space: nowrap;
overflow:-webkit-marquee;
width: 70px;
-webkit-marquee-direction: forwards;
-webkit-marquee-speed: slow;
-webkit-marquee-style: alternate;
}

要让marquee工作需要一些前提条件。首先,white-space必须设置为nowrap,这样才能让文字不自动换行,其次,overflow必须设置为-webkit-marquee,宽度也要设置为比文字实际长度小的数值。

剩下的属性确保文字从左边滚动到右边(-webkit-marquee-direction)、来回移动(-webkit-marquee-style)以及以比较低的速度移动(-webkit-marquee-speed)。其它的属性有-webkit-marquee-repetition,用来定义marquee重复的次数,-webkit-marquee-increment, 定义每次递增的速度变化。

注:虽然HTML的marquee标签在XHTML中被抛弃了,但是各浏览器还是支持的,但是有一个问题就是,marquee标签可能会占用比较大的cpu,大猫对其进行了深入的研究,结论是marquee的速度不能太快,而webkit用-webkit-marquee属性是最好的——神飞。

扩展阅读: Safari Developer Library

Gecko特有属性

font-size-adjust

这个有用的CSS3属性目前只有Firefox支持。我们可以用它来设定指定元素的文字大小(font-size)应该相对于小写字母的高度(x-height)而不是大写字母的高度(cap height)。比如,Verdana比同型号的Times字体更清晰,它有着更矮的x-height。为了弥补这个缺陷,我们可以用font-size-adjust属性来纠正后者。

该属性在拥有不同的x-height的字体上非常有用。即便你在小心的使用小号字体,在问题出现时font-size-adjust也能提供解决方案。

示例

如果由于某种原因用户的电脑上没有安装Verdana,那么Arial就会被修正,从而和Verdana有相同的长宽比(0.58)。

1
2
3
4
5
p {
font-family:Verdana, Arial, sans-serif;
font-size: 12px;
font-size-adjust: 0.58;
}

CSS的未来:一些试验性CSS属性

浏览器支持: Gecko.

扩展阅读: Mozilla Developer Network

image-rendering

n年前,图片并不会被按照其原始大小显示,而是被设计师给缩放掉。取决于缩放的大小和上下文,图片可能会在浏览器中展现的不太好或者干脆就是错掉了的。现在,浏览器有了更好的算法来显示缩放的图片,不过,在你的图片被缩放后完全的控制其表现也是件很赞的事情。

如果你的图片有比较锐的线条并希望他们在缩放后保持它,这个Gecko私有属性就显得特别有用。相关的值是-moz-crisp-edges。同样的算法也用在optimizeSpeed,而auto 和optimizeQuality 定义为标准行为(用可行的最佳质量来缩放元素)。 image-rendering 属性同样可以用于<video> 和<canvas>元素,和用于背景图片一样。这是个CSS3 标准属性,但是目前只有Firefox支持。

CSS的未来:一些试验性CSS属性

值得注意的是,-ms-interpolation-mode: bicubic,尽管它是个IE专有属性。然而,它让Internet Explorer 7 在缩放图片后将其渲染为比较高的质量。由于这个浏览器默认处理的很烂,所以这个属性可能会很有用。

浏览器支持: Gecko.

扩展阅读: Mozilla Developer Network

-moz-border-top-colors

这个属性可以归类为’养眼’。它让你可以在border宽度大于1px的时候为其设置不同的边框颜色。当然-moz-border-bottom-colors, -moz-border-left-colors 和-moz-border-right-colors也是可用的。

不爽的是,没有一个简写的-moz-border-colors 缩写,所以每个边框都要分开设置。同时,border-width要和给到的颜色的数量保持一致,否则,最后的那个颜色值会填充到剩下的宽度。

示例

这个例子中,元素的左右两边边框会是标准的橙色,上下则有种类似渐变的颜色——红黄蓝三色。

1
2
3
4
5
div {
border: 3px solid orange;
-moz-border-top-colors: red yellow blue;
-moz-border-bottom-colors: red yellow blue;
}

CSS的未来:一些试验性CSS属性

浏览器支持: Gecko.

扩展阅读: Mozilla Developer Network

混合属性

-webkit-user-select 和 -moz-user-select

或许你常常不希望用户在你的网站上选择文本,无论是否是出于版权的原因。通常大家会有js来实现,另一个方案就是,将-webkit-user-select 和-moz-user-select 的值设为none。

请谨慎使用这个属性:因为大部分用户是来查看信息的,他们可以复制并存储下来以备将来之用,所以这种方法既无用也无效。如果你禁用了复制粘贴功能,用户还是可以通过查看源文件来获取到他们想要的内容。搞不懂这个属性为什么会被webkit和gecko支持。

浏览器支持: WebKit, Gecko.

扩展阅读: Safari Developer Library, Mozilla Developer Network

-webkit-appearance 和 -moz-appearance

你曾经想过将一张图片伪装成单选按钮么?或者,一个输入框看起来像一个复选框?那么现在appearance 出现了。即便你并不想要让一个链接看起来总是像个按钮,下面这个例子也可以让你了解到,只要你愿意就可以做到的:

示例

1
2
3
4
a {
-webkit-appearance: button;
-moz-appearance: button;
}

浏览器支持: WebKit, Gecko.

扩展阅读: Safari Developer Library, Mozilla Developer Network, Mozilla Developer Network,CSS3 appearance简介

text-align: -moz-center/-webkit-center

这是一个属性(或者精确来说,是个“属性值”)的存在很让人惊喜啊。要让一个块级元素居中,大家通常将其设置为margin:0 auto。但是,现在你也可以将元素的容器的text-align属性设置为-moz-center 和 -webkit-center。相应的,你也可以通过设置-moz-left、-webkit-left或-moz-right、-webkit-right将元素居左或者居右。

浏览器支持: WebKit, Gecko.

扩展阅读: Safari Developer Library

CSS 2.1属性

counter-increment

你是否经常希望你可以让一个有序列表或者一篇文章的所有标题自动编号?不幸的是,目前尚未有CSS3属性支持。但是在CSS 2.1中,counter-increment 提供了一个解决方案。这就意味着它已经出现好些年了,而且在IE8中就已经支持了。

配合:before 伪元素和content 属性,counter-increment可以为所有的HTML标签添加自动的编号。即便是嵌套的编码也是支持的。

示例

要给标题编码,先将计算器重设一下:

1
body {counter-reset: thecounter}

下面的样式让每一个<h1>标题都有一个”Section”的前缀,然后其后面的数字自动的递增1(这是默认的,可以省略掉),这里thecounter是计算器的名称:

1
2
3
4
.counter h1:before {
counter-increment: thecounter 1;
content:"Section"counter(thecounter)":";
}

示例

对于一个嵌套编码的列表,重设计数器,然后关掉<ol>的自动编码,因为它是无嵌套的:

1
2
3
4
ol {
counter-reset: section;
list-style-type: none;
}

然后,每个<li>设置为自动编号,分割符是一个点(.),后面跟着一个空格

1
2
3
4
li:before {
counter-increment: section;
content: counters(section,".")"";
}

HTML代码:

1
2
3
4
5
6
7
8
9
10
<ol><li>item</li> <!-- 1 --><li>item <!-- 2 --><ol><li>item</li> <!-- 1.1 --><li>item</li> <!-- 1.2 --></ol></li><li>item</li> <!-- 3 -->
<ol>

浏览器支持: CSS 2.1.,所有的现代浏览器,IE 7+.

扩展阅读: W3C,CSS content, counter-increment 和 counter-reset详解

quotes

你会因为你的CMS不知道如何正确转换引用符号而纠结么?那么开始使用quotes属性吧。这样你就可以自定义任何符号了。然后你就可以用:before和:after伪元素为任何期望的元素指定引号了,悲催的是,webkit浏览器不支持这个属性——经测试,chrome 11已经开始支持这个属性了(之前的版本没有测试)。

示例

前面的两个符号决定第一级引用内容的引号,后面的两个用于二级引用,以此类推:

1
2
3
q {
quotes: '«' '»' "‹" "›";
}

下面两行用于为选定元素指定引号:

1
2
q:before {content: open-quote}
q:after {content: close-quote}

这样,<p><q>This is a very <q>nice</q> quote.</q></p>看起来将会是酱紫的:
«This is a very ‹nice› quote.»

浏览器支持: CSS 2.1.,除了WebKit,IE 7和IE6的所有现代浏览器。不过chrome是支持的。。。

扩展阅读: W3C

问题:要直接的添加符号,CSS文档必须要设置为UTF-8吗?这是一个很纠结的问题。遗憾的是,我不能给出一个明确的答案。我的经验是,不必要设置什么特定的字符集,然后utf-8字符集可能会出错,因为它显示错掉的字符(比如”»”)。而是用iso-8859-1 字符集,一切就都是正常的。

W3C这样描述:”由于上个例子中由’quotes’定义的引号方便的定位在电脑键盘上,高质量的字符则需要不同的10646字符集。”

你或许听说过但是没有记住的CSS3属性

接近尾声,让我们重温一些不太流行的以及不像border-radius和box-shadow那样被广泛需求的CSS3属性。

text-overflow

或许你会常常遇到这个问题:某个容器对于其内的文字来说太小了,然后你不得不用javascript来截断字符串并添加”…”符号以避免文字溢出。

忘掉它吧!采用CSS3和text-overflow: ellipsis,如果文字比它的容器的宽度要长的话,你就可以强制文字以”…”结束它。唯一的要求是设置overflow:hidden。不幸的是,Firefox不支持这个属性,但是貌似在最近的版本中将会提供支持。

示例

1
2
3
4
div {
width: 100px;
text-overflow: ellipsis;
}

CSS的未来:一些试验性CSS属性

浏览器支持: CSS 3,所有浏览器的最新版本,除了Firefox,IE从IE6开始支持,据说Firefox到6.0也会提供支持的——希望如此吧。

扩展阅读: W3C

word-wrap

当文字在一个比较窄的容器中时,它的某个部分可能会因为太长而不能正确的换行。比如链接就常常引起问题。如果你不想用overflow: hidden隐藏溢出的文字,那么你就可以设置 word-wrap 为break-word,它可以让字符串在到达容器的宽度限制时换行。

示例

1
2
3
4
div {
width: 50px;
word-wrap: break-word;
}

CSS的未来:一些试验性CSS属性

浏览器支持: CSS 3,所有现代浏览器。

扩展阅读: W3C

resize

如果你在使用Firefox或Chrome,那么你肯定注意到了文本框的右下角默认有个小的手柄,它可以让你调整它们的大小。这个标准的行为由CSS3 属性 resize: both实现。

但是它并不仅限于textarea。它可以用于所有的HTML元素。horizontal 和 vertical 值用于控制调整水平方向还是垂直方向。

请注意:对于display:block元素,如果设置了overflow:visible,resize属性将会无效(这一点原文描述不详——by 神飞)。

CSS的未来:一些试验性CSS属性

浏览器支持: CSS3, 除了Opera和IE以为的其它最新的浏览器。

扩展阅读: Safari Developer Library

background-attachment

当你为一个设置了overflow:auto的元素指定背景图片的时候,当内容太多而出现滚动条后,拖动滚动条就会发现背景图片的位置是固定的,而不是随着滚动条移动。如果你想要背景图片随着内容而滚动,可以设置background-attachment:local。

CSS的未来:一些试验性CSS属性

浏览器支持: CSS 3,除了Firefox以外的所有现代浏览器,Firefox是支持background-attachment属性的,只是不支持local值.

扩展阅读: W3C

text-rendering

随着越来越多的网站开始用@font-face来渲染文字,易读性开始被关注了。小号字体上,文字会更容易出现。由于目前还没有CSS属性控制显示在线字体的微妙细节,你可以利用text-rendering来启用kerning 和 ligatures。

Gecko 和WebKit 浏览器处理这个属性的方式很不一样。前者默认启用这个特性,而后者,你需要将其设置为optimizeLegibility。

CSS的未来:一些试验性CSS属性

浏览器支持: CSS3, 所有WebKit 和Firefox浏览器.

扩展阅读: W3C

transform: rotateX/transform: rotateY

如果你已经开始使用CSS3,那么你可能会比较熟悉transform: rotate(),这个在z轴上旋转元素的属性。

但是你是否也知道,它也可以更深入的旋转的(比如,围绕x轴和y轴)? 这些变形结合-webkit-backface-visibility: hidden会更合适。

示例

如果你鼠标经过这个元素,它将会旋转180°,倒转过来:

1
2
3
div:hover {
transform: rotateY(180deg);
}

CSS的未来:一些试验性CSS属性

小技巧:如果只是映射一个元素,你可以设置transform为rotateX(180deg) (对应rotateY)或者设置transform 为scaleX(-1) (对应scaleY).

浏览器支持: CSS3, WebKit、firefox、Opera以及IE9

扩展阅读: W3C,你需要知道的CSS3 动画技术

结语

正如你希望见到的,还有很多未知的很有用的属性。他们中的很多仍然处于试验性阶段并且可能一直这样甚至最终可能会被浏览器摈弃。而有些有望在后续版本中被所有的浏览器支持。

然而,很难判断判断他们中的一些是好是坏,WebKit特有的属性随着iOS和Android的成功显得越来越重要。当然,一些CSS3属性多多少少已经可以使用了。

如果你不喜欢私有属性,你可以将它们视为实验直到可以在代码中实现以增强用户体验。同时,W3C的CSS validator 同样支持私有属性,它会返回警告而不是错误。

祝你体验快乐!

转载于:https://www.cnblogs.com/zhaodifont/p/3824379.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460268.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle PL/SQL之LOOP循环控制语句

在PL/SQL中可以使用LOOP语句对数据进行循环处理&#xff0c;利用该语句可以循环执行指定的语句序列。常用的LOOP循环语句包含3种形式&#xff1a;基本的LOOP、WHILE...LOOP和FOR...LOOP。 LOOP语句的基本语法结构如下&#xff1a; [<<label_name>>] LOOPstatement.…

Sublime text 入门学习资源篇及其基本使用方法

Sublime text 学习资源篇 史上最性感的编辑器-sublimetext&#xff0c;插件&#xff0c; 学习资源 官网 http://www.sublimetext.com/插件 https://packagecontrol.io教程 Sublime Text 全程指南Sublime Text 2 入门及技巧Sublime Text 使用介绍、全套快捷键及插件推荐Sublime …

mysql必知必会 create_mysql必知必会--检 索 数 据

SELECT 语句SQL语句是由简单的英语单词构成的。这些单词称为关键字&#xff0c;每个SQL语句都是由一个或多个关键字构成的。大概&#xff0c;最经常使用的SQL语句就是 SELECT 语句了。它的用途是从一个或多个表中检索信息。为了使用 SELECT 检索表数据&#xff0c;必须至少给出…

Git 配置备忘

最近开始做了一些项目&#xff0c;但是不是总能在一个地方开工&#xff0c;又考虑到工作量大&#xff0c;要和别人一块完成&#xff0c;代码托管就不得不进行了。之前用了visual studio online,毕竟tfs的那一套还是很熟悉的。不过坑爹的是&#xff0c;虽说china g wall 没有封掉…

三层架构与设计模式思想部署企业级数据库业务系统开发

1. 三层架构介绍 1.1关于架构 架构这个词从它的出现后,就有许许多多的程序员、架构师们激烈地讨论着它的发展&#xff0c;但是架构一词的出现&#xff0c;却是随着三层架构的出现才出现的。当然&#xff0c;目前应用三层架构开发也正是业界最关注的主题。那么这里我们来看看单层…

java compliance_java complier compliance level问题引发的思考

http://blog.csdn.net/shan9liang/article/details/17266519**********************************************问题起源&#xff1a;今天再在ESB调用WebService测试&#xff0c;需要在jboss上部署一个ejb项目(ejb发布的webservice)&#xff0c;过去部署好好的代码&#xff0c;这…

Codeforces Round #301 (Div. 2) C. Ice Cave BFS

C. Ice Cave Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/540/problem/CDescription You play a computer game. Your character stands on some level of a multilevel ice cave. In order to move on forward, you need to descend one…

字符串匹配的KMP算法(转)

转自&#xff1a;http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html 字符串匹配是计算机的基本任务之一。 举例来说&#xff0c;有一个字符串"BBC ABCDAB ABCDABCDABDE"&#xff0c;我想知道&#xff0c;里面是否包含另一个…

BNUOJ 1207 滑雪

滑雪 Time Limit: 1000msMemory Limit: 65536KBThis problem will be judged on PKU. Original ID: 108864-bit integer IO format: %lld Java class name: MainMichael喜欢滑雪百这并不奇怪&#xff0c; 因为滑雪的确很刺激。可是为了获得速度&#xff0c;滑的区域必须向…

zabbix2.2入门教程之编译安装(一)

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。测试环境&#xff1a;centos6.4zabbix2.2…

数学图形(1.35)Kappa curve

不知道这个曲线和那个运动品牌背靠背有什么关系.阿迪原先的商标是个三叶草,难道背靠背也是由数学图形来的? 以下是维基上的解释. In geometry, the kappa curve or Gutschovens curve is a two-dimensional algebraic curve resembling the Greek letter ϰ (kappa). The kapp…

MeasureSpec学习 - 转

2019独角兽企业重金招聘Python工程师标准>>> 在自定义View和ViewGroup的时候&#xff0c;我们经常会遇到int型的 MeasureSpec 来表示一个组件的大小&#xff0c;这个变量里面不仅有组件的尺寸大小&#xff0c;还有大小的模式。 这个大小的模式&#xff0c;有点难以理…

Modernizr使用指南

很久很久以前&#xff0c;我们总有要自己写代码检测&#xff0c;浏览器对某种特性的支持情况。比如&#xff1a;现在要写代码判断浏览器是否支持canvans&#xff0c;大致的代码如下&#xff1a; window.onload function () {if (isSupportCanvas()) {alert("support canv…

C#反射基础理解1(转)

反射提供了封装程序集、模块和类型的对象&#xff08;Type类型&#xff09; 可以使用反射动态的创建类型的实例&#xff0c;将类型绑定到现有对象&#xff0c;或从现有对象中获取类型&#xff0c;然后&#xff0c;可以调用类型的方法或访问其字段和属性 。 总之&#xff0c;有了…

java sql超过32k_db2 clob类型如何能存储大于32k的字符串

#include #include int ascii[256]; // 字符出现次数,一共只有256个ascii码int main(){int i,r,j;char str[1024];printf("输入字符串\n");for (i 0; i < 256; i )ascii[i] 0; // 清零scanf("%s",str);r strlen(str);for (i 0; i < r; i ){ascii…

Cocos2d-x 3.2 学习笔记(四)学习打包Android平台APK!

从cocos2dx 3.2项目打包成apk安卓应用文件&#xff0c;搭建安卓环境的步骤有点繁琐&#xff0c;但搭建一次之后&#xff0c;以后就会非常快捷&#xff01; &#xff08;涉及到3.1.1版本的&#xff0c;请自动对应3.2版本&#xff0c;3.x版本的环境搭建都是一样的&#xff09; 一…

java微信web支付开发_微信支付java开发详细第三方支付功能开发之支付宝web端支...

这段时间把支付基本搞完了&#xff0c;因为做的过程中遇到许多问题&#xff0c;特地记录下来&#xff0c;同时方便其他java coder&#xff0c;废话少说&#xff0c;下面开始。整体思路&#xff1a;在后台&#xff0c;根据参数创建支付宝客户端AlipayClient&#xff0c;发送参数…

mysql 最值复杂查询_MySQL高级查询

我们使用SQL查询不能只使用很简单、最基础的SELECT语句查询。如果想从多个表查询比较复杂的信息&#xff0c;就会使用高级查询实现。常见的高级查询包括多表连接查询、内连接查询、外连接查询与组合查询等&#xff0c;今天我们先来学习最常用、面试也很容易被问到的连接查询。我…

java对象和json对象之间互相转换

2019独角兽企业重金招聘Python工程师标准>>> import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class MainClass { public static…

SQL Server :理解数据记录结构

原文:SQL Server &#xff1a;理解数据记录结构在SQL Server &#xff1a;理解数据页结构我们提到每条记录都有7 bytes的系统行开销&#xff0c;那这个7 bytes行开销到底是一个什么样的结构&#xff0c;我们一起来看下。 数据记录存储我们具体的数据&#xff0c;换句话说&#…