GVKun编程网logo

css3 – “opacity”和“filter:opacity()”之间有什么区别?(css中opacity用法)

11

本文的目的是介绍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用法)

css3 – “opacity”和“filter:opacity()”之间有什么区别?(css中opacity用法)

我们大多数人都知道简单的不透明度CSS规则,但是最近我偶然发现过滤器可以具有不透明度(量),因为它的价值.但两者之间有什么区别呢?

解决方法

CSS中的过滤器有一些不同的运行,即FireFox和MSIE.

在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正则表达式中的“组”和“捕获”之间有什么区别?

对于.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”之间有什么区别?

c – “1.0f”和“1.f”之间有什么区别?

作为约翰·卡马克(John Carmack)的崇拜者,我正在阅读Id Tech公开提供的编码公约文档(如果您有兴趣,请在 ftp://ftp.idsoftware.com/idstuff/doom3/source/CodeStyleConventions.doc),并发现我不完全明白的约定:

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:有什么区别?

c# – IIdentity,IPrincipal或IUser:有什么区别?

我正在尝试在MVC5应用程序中实现简单的基于角色的身份验证授权,但是我在尝试理解Identity框架中涉及的所有部分时遇到了一些麻烦

我正在阅读几本教程和指南,但我还没有明确的想法.

特别是:哪个是IIdentity,IPrincipal或IUser接口之间的区别?我应该实施哪些?

解决方法

‘IPrincipal’是 .Net framework’s interface:
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:

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 的区别等更多相关知识的信息可以在本站进行查询。

本文标签: