当前位置: 首页 > 面试题库 >

在同一句子中的CSS内容,属性和网址

濮阳旭东
2023-03-14
问题内容

我已经使用 content属性 很长时间了,今天我想尝试一些新的东西。我不想使用JS显示图像工具提示,而是想知道是否可以使用CSS动态地进行操作。

所以我尝试了:

.TableLine:hover:after{
  content: url("../Img/Photo/"attr(id)".jpg"); 
}

attr(id)应该在哪里返回图片的ID(字母数字),它也是图片的名称。

它根本不起作用,没有任何作用。我认为该块没有解析,因为向该块添加边框或背景似乎也没有作用。

当我只使用attr(id)单独的内容而没有url时,它会完美地工作。当我用attr(id)图片的真实名称替换时,它也起作用。

在网上搜索了一会儿之后,我没有找到任何相关内容,所以我在这里。那是一个已知的错误还是我的错误?:)


问题答案:

这既不是错误也不是错误。当前支持的内容语法(CSS2.1)为:

content: normal | none | 
         [ <string> | <uri> | <counter> | attr() |
           open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit

即:

  • 字面normalnoneinherit

  • 或任意数量的这些 陆续

    • 一个字符串- "hello"
    • 一个(恒定)URI- url("image.jpg")
    • 柜台- counter(section)
    • 属性- attr(id)
    • open-quoteclose-quoteno-open-quoteno-close-quote

该规范不允许对它们进行“嵌套”,他们只能跟着对方,如:

content: "Photo: " url("../Img/Photo.jpg") attr(id);
/* Which is not what you want */

当前的CSS3草案也不允许这样做。可能-如果已经讨论过-因为大多数用例与表示几乎没有关系,而与实际内容有更多关系。



 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 如何使用CSS在元素之前插入换行符 (15个答案) 5年前关闭。 是否可以在CSS 属性中使用 换行符来强制 换 行?就像是: 问题答案: 在内容属性接受一个字符串和: 字符串不能直接包含换行符。要在字符串中包括换行符,请使用转义符表示ISO-10646(U + 000A)中的换行符,例如“ \ A”或“ \ 00000a”。此字符代表CSS中“换行符”

  • 问题内容: 数据属性中是否可以有新行? 我正在尝试做这样的事情: CSS: 的HTML 我发现“ \ a”是CSS中的新行,但仍然对我不起作用。 问题答案: 这是如何工作的。您需要按如下所示修改数据属性: 和CSS(概念验证): 怎么运行的 使用不起作用,但等效的HTML实体起作用。 根据CSS2.1规范,返回一个字符串,但是CSS处理器未解析该字符串(我不确定这到底意味着什么)。我推测必须由CS

  • 学习如何设置 CSS 标题属性和 CSS 链接属性,并将其应用于页面上的所有标题和链接。 可指定页面标题的字体、字体大小和颜色。默认情况下,Dreamweaver 创建标题的 CSS 规则,并将其应用于在页面上使用的所有标题。这些规则嵌入在页面的 head 部分。 若要应用 CSS 标题属性, 执行下列操作之一 单击“文件”>“页面属性” 单击“窗口”>“页面属性”,然后单击文本属性检查器中的“页

  • 问题内容: 对于这些查询,我可以获得相同的结果,但是哪一个是最快,最有效的? in()或内部联接在哪里? 和 问题答案: 取决于您的SQL引擎。具有合理查询优化器的较新SQL系统很可能会将两个查询重写为同一计划。通常,使用联接(第一个查询)重写子查询(第二个查询)。 在可能没有出色查询优化器的简单SQL引擎中,联接应该更快,因为它们可能在运行外部查询之前将子查询运行到临时内存表中。 但是,在某些内

  • 问题内容: 有关CSS网格的所有指南似乎都暗示着一种结构,其中放置在网格中的元素是网格本身的子级。 其中具有和网格属性的定义。 如果我想将作为网格“孙代”的元素放置在网格本身上(而不是依赖于其父元素),是否有意义? 在这里,我希望能够将A,B和C分别放在自己的网格行中;那有道理吗? 问题答案: 从 CSS Grid Level 2草案规范开始: 2.网格容器 子网格提供了通过嵌套元素向下传递网格参

  • 问题内容: 我正在尝试在最顶部创建的CSS网格上放置一个嵌套()。还没有爱(它不起作用)。也许这是不可能的,或者我缺少了什么? 问题答案: 一个范围 格格式化的内容被限制为父子关系。 这意味着网格容器始终是父级,而网格项目始终是子级。网格属性仅在此关系内起作用。 子代以外的网格容器的后代不属于网格布局,并且不接受网格属性。 您正在尝试将网格属性应用于属于网格容器的子元素而不是子元素的元素。这些元素