以上就是给各位分享CSS/HTML:使文本斜体的正确方法是什么?,其中也会对css文本倾斜进行解释,同时本文还将给你拓展c#–测试此任务的正确方法是什么?、c#–等待信号量的正确方法是什么?、c#–等
以上就是给各位分享CSS/HTML:使文本斜体的正确方法是什么?,其中也会对css文本倾斜进行解释,同时本文还将给你拓展c# – 测试此任务的正确方法是什么?、c# – 等待信号量的正确方法是什么?、c# – 等待连接的正确方法是什么?、CSS / HTML – 在页眉中合并文本和图像的正确方法等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:- CSS/HTML:使文本斜体的正确方法是什么?(css文本倾斜)
- c# – 测试此任务的正确方法是什么?
- c# – 等待信号量的正确方法是什么?
- c# – 等待连接的正确方法是什么?
- CSS / HTML – 在页眉中合并文本和图像的正确方法
CSS/HTML:使文本斜体的正确方法是什么?(css文本倾斜)
使文本斜体的 正确方法是什么? 我见过以下四种方法:
<i>Italic Text</i><em>Italic Text</em><span>Italic Text</span><span>Italic Text</span>
<i>
这是“老办法”。<i>
没有语义意义,只传达使文本斜体的表现效果。据我所知,这显然是错误的,因为这是非语义的。
<em>
这将语义标记用于纯粹的表示目的。碰巧<em>
默认情况下以斜体呈现文本,因此那些知道<i>
应该避免但不知道其语义含义的人经常使用它。并非所有斜体文本都是斜体,因为它被强调了。有时,它可能正好相反,比如旁注或耳语。
<span>
这使用 CSS 类来放置演示文稿。这通常被吹捧为正确的方法,但同样,这对我来说似乎是错误的。这似乎不再传达<i>
.
但是,它的支持者哭了,如果你想要它加粗,那么以后更改所有斜体文本要容易得多。然而事实并非如此,因为我会留下一个名为“italic”的类,它会将文本呈现为粗体。此外,尚不清楚我为什么要更改我网站上的所有斜体文本,或者至少我们可以想到不希望或不需要这样做的情况。
<span>
这将 CSS 类用于语义。到目前为止,这似乎是最好的方法,但实际上有两个问题。
并非所有文本都有足够的含义来保证语义标记。例如,页面底部的斜体文本真的是脚注吗?还是旁白?或者完全是别的东西。也许它没有特殊含义,只需要以斜体呈现,以便在表现上将其与前面的文本分开。
语义意义在强度不足时会发生变化。可以说,我仅根据页面底部的文本就同意了“脚注”。几个月后我想在底部添加更多文本时会发生什么?它不再是脚注。我们如何才能选择一个不那么通用
<em>
但又能避免这些问题的语义类呢?
概括
在许多情况下,语义的要求似乎过于繁重,因为将某些东西变成斜体的愿望并不意味着带有语义意义。
此外,将样式与结构分开的愿望导致 CSS
被吹捧为<i>
在某些情况下实际上用处不大的情况下的替代品。所以这让我回到了不起眼的<i>
标签,想知道这个思路是否是它留在 HTML5 规范中的原因?
还有关于这个主题的好的博客文章或文章吗?也许是那些参与决定保留/创建<i>
标签的人?
答案1
小编典典您应该针对不同的用例使用不同的方法:
- 如果要强调短语,请使用
<em>
. - 该标签在 HTML5
<i>
中具有新的含义,表示“一段文本以不同的声音或情绪”。因此,您应该将此标签用于诸如想法/旁白或惯用短语之类的内容。该规范还建议了船名(但不再建议书/歌曲/电影名称;改为使用)。<cite>
- 如果斜体文本是较大上下文的一部分,例如介绍性段落,则应将 CSS 样式附加到较大的元素,即
p.intro { font-style: italic; }
c# – 测试此任务的正确方法是什么?
public static Task ToRepeatingWork(this Action work,int delayInMilliseconds) { Action action = async () => { while (true) { try { work(); } catch (MyException ex) { // Do nothing } await TaskEx.Delay(new TimeSpan(0,delayInMilliseconds)); } }; return new Task(action,SomeCt,TaskCreationoptions.LongRunning); }
我写过相应的测试:
[TestMethod,TestCategory("Unit")] public async Task Should_do_repeating_work_and_rethrow_exceptions() { Action work = () => { throw new Exception("Some other exception."); }; var task = work.ToRepeatingWork(1); task.Start(); await task; }
我期待这个测试失败,但它通过(并崩溃测试运行器).
但是,如果在ToRepeatingWork方法中,我将操作从异步更改为正常操作并使用等待而不是等待,则测试将按预期运行.
TaskEx.Delay(new TimeSpan(0,delayInMilliseconds)).Wait();
这有什么不对?
解决方法
您还应该避免异步void,因此请使用Func< Task>而不是行动.这就是导致崩溃的原因.
public static Task ToRepeatingWork(this Action work,int delayInMilliseconds) { Func<Task> action = async () => { while (true) { try { work(); } catch (MyException ex) { // Do nothing } await TaskEx.Delay(new TimeSpan(0,delayInMilliseconds)); } }; return Task.Run(() => action()); } [TestMethod,TestCategory("Unit")] public async Task Should_do_repeating_work_and_rethrow_exceptions() { Action work = () => { throw new Exception("Some other exception."); }; var task = work.ToRepeatingWork(1); await task; }
c# – 等待信号量的正确方法是什么?
int count = 0; Semaphore s = new Semaphore(2,2); for (int x = 0; x < 10; x++) { Thread t = new Thread(new ThreadStart(delegate() { s.WaitOne(); Thread.Sleep(1000); Interlocked.Increment(ref count); s.Release(); })); t.Start(x); } WaitHandle.WaitAll(new WaitHandle[] { s }); Console.WriteLine("done: {0}",count);
输出:
done: 6
如果实现我正在寻找的功能的唯一方法是将EventWaitHandle传递给每个线程,然后对那些EventWaitHandles的数组执行WaitAll(),那么在仅数组上执行WaitAll()的含义是什么信号量?换句话说,等待线程何时解除阻塞?
解决方法
我认为你需要的是障碍课.它用于fork-join-style并行.
c# – 等待连接的正确方法是什么?
经过一些试验和错误后,我发现在Connect / Bind调用之后我不能立即发送或接收消息,因为它们是非阻塞的,即使尚未建立连接也会实际返回.
现在我用Thread.Sleep()解决了这个问题,但这对它有不好的品味,对于生产系统来说绝对不行.
所以问题是,如何在NetMQ / ZeroMQ中做到这一点?
客户端示例:
using (NetMQContext ctx = NetMQContext.Create()) { using (var client = ctx.CreatePushSocket()) { client.Connect("tcp://127.0.0.1:5555"); Thread.Sleep(100); // wait for connection for (int i = 0; i < 5; i++) { client.Send("test " + i,true); } } } }
服务器示例:
using (NetMQContext ctx = NetMQContext.Create()) { using (var server = ctx.CreatePullSocket()) { server.Bind("tcp://127.0.0.1:5555"); Thread.Sleep(100); // wait for connection while (true) { var str = server.ReceiveString(); Console.Out.WriteLine(str); Thread.Sleep(60*1000); // do msg processing } } }
我想要实现的目标的描述:
客户端 – 将消息发送到单个服务器.当服务器不可用时,客户端不应阻止并且不应丢弃消息.客户端可以随时离线/在线.
服务器 – 从单个客户端接收消息.服务器将阻塞,直到收到消息.服务器需要对消息进行冗长的处理,并且在处理时不应丢失任何其他消息.服务器可以随时离线/在线.
解决方法
在客户端,最好的解决方案可能是创建两个套接字(一个用于发送消息,一个用于接收),并让服务器宣布其存在,以便客户端发送消息.由于ZeroMQ可以有效地处理多个连接,因此该解决方案可以很好地工作.
CSS / HTML – 在页眉中合并文本和图像的正确方法
谷歌最好的建议就是拥有一个< div>对于带有< h1>的标头对于文本.在CSS中,隐藏< h1> with display:none;并将图像添加为< div>的背景图像.这可能适用于搜索引擎,但如果图像未加载(或需要时间加载),则用户在页面顶部看不到任何内容.
所以我真正想要的是一种可见的< h1>文本和图像加载时,它覆盖文本并显示在它前面.
另一轮关于这样做的方法是使用javascript并在图像加载完成后隐藏文本.这是一个相当尴尬的解决方案,远非完美.
做这个的最好方式是什么?
解决方法
我会保持标记最小(总是一个好主意)
<h1>Title of your page</h1>
在CSS中
h1 { text-indent: -10000px; /* Will hide text from users,while still showing for search engines/screen readers */ background: url('../images/logo.png') no-repeat left top; width: 200px; /* your image dimensions */ height: 50px; }
今天关于CSS/HTML:使文本斜体的正确方法是什么?和css文本倾斜的讲解已经结束,谢谢您的阅读,如果想了解更多关于c# – 测试此任务的正确方法是什么?、c# – 等待信号量的正确方法是什么?、c# – 等待连接的正确方法是什么?、CSS / HTML – 在页眉中合并文本和图像的正确方法的相关知识,请在本站搜索。
本文标签: