GVKun编程网logo

CSS/HTML:使文本斜体的正确方法是什么?(css文本倾斜)

8

以上就是给各位分享CSS/HTML:使文本斜体的正确方法是什么?,其中也会对css文本倾斜进行解释,同时本文还将给你拓展c#–测试此任务的正确方法是什么?、c#–等待信号量的正确方法是什么?、c#–等

以上就是给各位分享CSS/HTML:使文本斜体的正确方法是什么?,其中也会对css文本倾斜进行解释,同时本文还将给你拓展c# – 测试此任务的正确方法是什么?、c# – 等待信号量的正确方法是什么?、c# – 等待连接的正确方法是什么?、CSS / HTML – 在页眉中合并文本和图像的正确方法等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

CSS/HTML:使文本斜体的正确方法是什么?(css文本倾斜)

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 类用于语义。到目前为止,这似乎是最好的方法,但实际上有两个问题。

  1. 并非所有文本都有足够的含义来保证语义标记。例如,页面底部的斜体文本真的是脚注吗?还是旁白?或者完全是别的东西。也许它没有特殊含义,只需要以斜体呈现,以便在表现上将其与前面的文本分开。

  2. 语义意义在强度不足时会发生变化。可以说,我仅根据页面底部的文本就同意了“脚注”。几个月后我想在底部添加更多文本时会发生什么?它不再是脚注。我们如何才能选择一个不那么通用<em>但又能避免这些问题的语义类呢?


概括

在许多情况下,语义的要求似乎过于繁重,因为将某些东西变成斜体的愿望并不意味着带有语义意义。

此外,将样式与结构分开的愿望导致 CSS
被吹捧为<i>在某些情况下实际上用处不大的情况下的替代品。所以这让我回到了不起眼的<i>标签,想知道这个思路是否是它留在 HTML5 规范中的原因?

还有关于这个主题的好的博客文章或文章吗?也许是那些参与决定保留/创建<i>标签的人?

答案1

小编典典

您应该针对不同的用例使用不同的方法:

  1. 如果要强调短语,请使用<em>.
  2. 该标签在 HTML5<i>中具有新的含义,表示“一段文本以不同的声音或情绪”。因此,您应该将此标签用于诸如想法/旁白或惯用短语之类的内容。该规范还建议了船名(但不再建议书/歌曲/电影名称;改为使用)。<cite>
  3. 如果斜体文本是较大上下文的一部分,例如介绍性段落,则应将 CSS 样式附加到较大的元素,即p.intro { font-style: italic; }

c# – 测试此任务的正确方法是什么?

c# – 测试此任务的正确方法是什么?

我有一个方法,它使用任务和async / await重复工作.

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();

这有什么不对?

解决方法

你永远不应该使用任务构造函数.如果您有工作要放在线程池上,请使用Task.Run.这是一个问题,但不是导致崩溃的原因.

您还应该避免异步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# – 等待信号量的正确方法是什么?

c# – 等待信号量的正确方法是什么?

我认为下面的代码会让所有10个线程一次运行两个,然后在调用Release()10次后打印“done”.但那不是发生了什么:
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()的含义是什么信号量?换句话说,等待线程何时解除阻塞?

解决方法

WaitHandle.WaitAll(new WaitHandle [] {s});等待s.WaitOne();.它在第一次机会进入.您似乎希望此调用等待所有其他信号量操作,但操作系统无法区分它们.此命令可能是第一个被授予访问信号量的命令.

我认为你需要的是障碍课.它用于fork-join-style并行.

c# – 等待连接的正确方法是什么?

c# – 等待连接的正确方法是什么?

我正在尝试使用NetMQ实现在两个应用程序之间传递的简单消息(稍微更详细地描述了我想要实现的内容).
经过一些试验和错误后,我发现在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 – 在页眉中合并文本和图像的正确方法

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 – 在页眉中合并文本和图像的正确方法的相关知识,请在本站搜索。

本文标签: