本文的目的是介绍css3–“opacity”和“filter:opacity()”之间有什么区别?的详细情况,特别关注css中opacity用法的相关信息。我们将通过专业的研究、有关数据的分析等多种方
本文的目的是介绍css3 – “opacity”和“filter:opacity()”之间有什么区别?的详细情况,特别关注css中opacity用法的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解css3 – “opacity”和“filter:opacity()”之间有什么区别?的机会,同时也不会遗漏关于.NET正则表达式中的“组”和“捕获”之间有什么区别?、c – “1.0f”和“1.f”之间有什么区别?、c# – IIdentity,IPrincipal或IUser:有什么区别?、css => display: "none", visibility: "hidden", opacity: 0 的区别的知识。
本文目录一览:- css3 – “opacity”和“filter:opacity()”之间有什么区别?(css中opacity用法)
- .NET正则表达式中的“组”和“捕获”之间有什么区别?
- c – “1.0f”和“1.f”之间有什么区别?
- c# – IIdentity,IPrincipal或IUser:有什么区别?
- css => display: "none", visibility: "hidden", opacity: 0 的区别
css3 – “opacity”和“filter:opacity()”之间有什么区别?(css中opacity用法)
解决方法
在MSIE 5.5中,通过7,filter
,也称为Alpha Filter
,实际上使用了MSIE的DX Filter(no longer supported).然而,为了更符合CSS2.1,在IE8 MS中引入了-ms-filter
来替代filter
.语法不同之处在于-ms-filter
的值必须用引号括起来.最终,IE9引起了对这种方法的不满,而从IE10开始,它已经不复存在了.
另一个有趣的注意事项,如果您想要较旧的IE完全兼容,那么您必须确保使用filter
和-ms-filter
必须非常具体.例如,以下不能在IE8运行IE7兼容模式下运行:
element { filter: alpha(opacity=50); -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
-ms-filter
必须在filter
之前才能获得更多的旧版IE兼容性.所以:
element { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: alpha(opacity=50); }
FireFox使用filter
作为实验失败.我相信原来的想法是模拟IE在使用Direct X引擎时所做的工作.甚至有一个浏览器特定的版本,因为大多数浏览器一次.最终HTML5 / CSS3宣布使用过滤器命名空间,现在有了一个新的目的.
从CSS3起,filter
现在有了全新的意义! Firefox文档保持打开状态,就像他们打算扩展一样,虽然我还没有看到它(但是如果您的CSS现在不符合自己的喜好,那么它们会崩溃JS). Webkit(可能会成为下一次更新CSS3标准)已经开始实施filter
到您几乎可以为您的网站“photoshop”图像的点!
由于过滤器变化太大,不透明度将是首选的使用方法,但是,如您所见,完全跨浏览器兼容意味着非常彻底.
特定浏览器:
-webkit-filter:filter(value);
-moz-filter:filter(value);
> -o-filter:filter(value);
> -ms-filter:“progid:dxcLASS.Object.Attr(value)”;
也可以看看:
> What’s compatible with opacity
?
> What’s compatible with the newer filter
?
请记住,与旧版IE的过滤器不一样
.NET正则表达式中的“组”和“捕获”之间有什么区别?
对于.NET的正则表达式语言,“组”和“捕获”之间的区别让我有些模糊。考虑以下C#代码:
MatchCollection matches = Regex.Matches("{Q}", @"^\{([A-Z])\}$");
我希望这会导致字母’Q’的单个捕获,但是如果我打印返回的属性,则会MatchCollection
看到:
matches.Count: 1matches[0].Value: {Q} matches[0].Captures.Count: 1 matches[0].Captures[0].Value: {Q} matches[0].Groups.Count: 2 matches[0].Groups[0].Value: {Q} matches[0].Groups[0].Captures.Count: 1 matches[0].Groups[0].Captures[0].Value: {Q} matches[0].Groups[1].Value: Q matches[0].Groups[1].Captures.Count: 1 matches[0].Groups[1].Captures[0].Value: Q
这到底是怎么回事?我知道整个比赛也都有机会,但是小组如何进入?为什么不matches[0].Captures
包括字母“ Q”的捕获?
答案1
小编典典您不会是第一个对此感到困惑的人。以下是著名的杰弗里·弗里德尔(Jeffrey
Friedl)所说的话(第437页以上):
根据您的观点,它要么为比赛结果添加了有趣的新维度,要么使您感到困惑和膨胀。
进一步:
Group对象和Capture对象之间的主要区别在于,每个Group对象都包含一个Captures集合,这些Collections表示
该组在匹配过程中的所有 中间 匹配项以及该组匹配的最终文本。
几页后,这就是他的结论:
在了解了.NET文档并真正理解了这些对象的内容之后,我对它们有了不同的看法。一方面,这是一个有趣的创新[..];另一方面,它似乎增加了大多数情况下不会使用的功能的效率负担[..]
换句话说:它们非常相似,但是偶尔会碰巧有它们的用处。在长出另一头灰色胡须之前,您甚至可能喜欢Captures …
由于以上内容和其他文章中的内容均未真正回答您的问题,请考虑以下内容。将Captures视为一种历史跟踪器。当正则表达式匹配时,它从左到右遍历字符串(暂时忽略回溯),当遇到匹配的捕获括号时,它将存储在$x
(x是任何数字)中,比方说$1
。
普通的正则表达式引擎在要重复捕获括号时会丢弃当前值$1
,并将其替换为新值。不是.NET,它将保留此历史记录并将其放置在.NET中Captures[0]
。
如果我们将您的正则表达式更改为如下所示:
MatchCollection matches = Regex.Matches("{Q}{R}{S}", @"(\{[A-Z]\})+");
您会注意到第一个Group
有一个Captures
(第一个组始终是整个匹配项,即等于$0
),第二个将保持{S}
,即只有最后一个匹配组。然而,这里的渔获物,如果你想找到另外两个锁扣,他们在Captures
,它包含了所有中介捕获的{Q}
{R}
和{S}
。
如果您想知道如何从多重捕获(仅显示最后一个匹配项与字符串中明显存在的单个捕获项)中获得收益,则必须使用Captures
。
关于最后一个问题的最后一句话:总比赛总有一个总夺球,不要将其与各个组混合使用。 捕获只是在小组内部有趣。
c – “1.0f”和“1.f”之间有什么区别?
Use precision specification for floating point values unless there is an explicit need for a double.
float f = 0.5f
Instead of
float f = 0.5;
And
float f = 1.0f;
Instead of
float f = 1.f;
这些有什么不同?
我可以理解第一个例子中的两者之间的区别(后者在引擎盖下进行了双向浮点转换),尽管我怀疑它只需要一个不笨的编译器来捕获并生成相同的字节码,因为没有运行时差异.
但是有没有添加尾随0的浮点值声明更改的情况?
解决方法
But is there any case where adding trailing 0’s to your floating point value declaration changes things?
添加零的唯一“事情”会改变是可读性.结果代码将是完全一样的,因为编译器不在乎,但在零位置的常数将更容易被人类读者阅读.
c# – IIdentity,IPrincipal或IUser:有什么区别?
我正在阅读几本教程和指南,但我还没有明确的想法.
特别是:哪个是IIdentity,IPrincipal或IUser接口之间的区别?我应该实施哪些?
解决方法
public interface IPrincipal { // Retrieve the identity object IIdentity Identity { get; } // Perform a check for a specific role bool IsInRole (string role); }
此接口定义登录用户的基本功能.
实现此接口的对象表示运行代码的安全上下文.您可以在.Net中获得不同类型的IPrincipal:ClaimsPrincipal,WindowsPrincipal和其他 – 所有这些都取决于您使用的框架.如果您正在使用Asp.Net Identity框架,那么您将处理ClaimsPrincipal.
通常您不需要实现此接口.
IIdentity表示用户的权限.对于Asp.Net Identity框架,您将处理ClaimsIdentity.
同样,这是您不需要实现的.
Here is more documentation关于IPrincipal和IIDentity.
IUser是Asp.Net Identity框架的一部分.如果您使用Identity的Entity Framework部分,则可以继承和扩展you’ll be provided with IdentityUser类.这是您实施的模型.
基本上,IdentityUser是保存在数据库中的POCO.当用户登录时,来自IdentityUser的信息将由框架转换为ClaimsPrincipal和ClaimsIdentity.当您访问HttpContext.Current.User时,您将获得ClaimsPrincipal.
希望这能为你解决问题.
css => display: "none", visibility: "hidden", opacity: 0 的区别
一、 页面结构
- display: "none" 的元素其实并不会渲染,不会出现在页面中,不会占据位置,切换“显隐”时会触发渲染,所以会影响性能。
- visibility: "hidden" 的元素是会渲染的,它会占据页面中的位置(就好像 position: "relative" 的感觉一样,即使把元素left: 1080px,它也会占据原来的位置),切换“显隐”时会触发重绘,基本不影响性能。
- opacity: 0,"opacity"是不透明度的意思,顾名思义,它只是让元素变得不透明,1为完全不透明,0是完全透明,所以它也会在页面中占据位置(只是透明了,看不见),切换“显隐”时会触发重绘。
在这里就有一个小插曲了:什么是渲染?什么是重绘?
- 渲染: 这里所说的渲染其实指的回流,那什么是回流呢,回流就是当元素发生了会影响布局上变化的时候,页面需要重新构建,就会触发回流,重新渲染页面。
- 重绘: 通俗的说,就是元素发生了不影响布局结构的样式变化时,只是元素自身的外观发生了变化,就会触发重绘,比如改变color、background-color等等。
1、display: block
代码:
<body>
<p >我是吃瓜群众</p>
<p id="p1">我是主角</p>
<p >我是吃瓜群众</p>
<button onclick="document.getElementById(''p1'').style.display=''block''">
Block
</button>
<button onclick="document.getElementById(''p1'').style.display=''none''">
None
</button>
</body>
不妨、动手一试?
<body> <div> <p>我是吃瓜群众 </p><p id="p1">我是主角 </p><p>我是吃瓜群众</p> <button onclick="document.getElementById(''p1'').style.display=''block''">Block </button><button onclick="document.getElementById(''p1'').style.display=''none''">None </button> <br> </div> </body>
2、visibility: hidden
代码:
<body>
<p >我是吃瓜群众</p>
<p id="p2">我是主角</p>
<p >我是吃瓜群众</p>
<button onclick="document.getElementById(''p2'').style.visibility=''visible''">
Visible
</button>
<button onclick="document.getElementById(''p2'').style.visibility=''hidden''">
Hidden
</button>
</body>
不妨、动手一试?
<body> <div> <p>我是吃瓜群众 </p><p id="p2">我是主角 </p><p>我是吃瓜群众</p> <button onclick="document.getElementById(''p2'').style.visibility=''visible''">Visible </button><button onclick="document.getElementById(''p2'').style.visibility=''hidden''">Hidden </button> <br> </div> </body>
3、opacity: 0
代码:
<body>
<p >我是吃瓜群众</p>
<p id="p3">我是主角</p>
<p >我是吃瓜群众</p>
<button onclick="document.getElementById(''p3'').style.opacity=0">
0
</button>
<button onclick="document.getElementById(''p3'').style.opacity=.5">
0.5
</button>
<button onclick="document.getElementById(''p3'').style.opacity=1">
1
</button>
</body>
不妨、动手一试?
<body> <div> <p>我是吃瓜群众 </p><p id="p3">我是主角 </p><p>我是吃瓜群众</p> <button onclick="document.getElementById(''p3'').style.opacity=0">0 </button><button onclick="document.getElementById(''p3'').style.opacity=.5">0.5 </button><button onclick="document.getElementById(''p3'').style.opacity=1">1 </button> <br> </div> </body>
今天关于css3 – “opacity”和“filter:opacity()”之间有什么区别?和css中opacity用法的介绍到此结束,谢谢您的阅读,有关.NET正则表达式中的“组”和“捕获”之间有什么区别?、c – “1.0f”和“1.f”之间有什么区别?、c# – IIdentity,IPrincipal或IUser:有什么区别?、css => display: "none", visibility: "hidden", opacity: 0 的区别等更多相关知识的信息可以在本站进行查询。
本文标签: