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

IE偏移并忽略锚点焦点轮廓的高度/宽度?

柏正平
2023-03-14
问题内容

我有一种方案,当焦点放在a元素上时,焦点轮廓在Internet Explorer 10中无法正确显示。

嵌套在每个a元素内的是一系列div元素,并且在最底层的div内是一个img元素。

当我a通过IE10 标签到每个元素时,焦点轮廓显示在a元素组的右侧偏移。当我在Chrome中查看页面时,焦点轮廓会完美显示。

CSS充斥着我遇到问题的现有项目的样式。


问题答案:

您尚未调整元素的display属性a,因此即使它们“包含”了块级div元素,它们仍然显示内联。结果符合CSS2.1规范的这一部分其中描述了包含块子级的内联应该如何表现。

没有一个浏览器会自动调整显示模式,但是Chrome似乎正在做的是猜测其默认轮廓的位置,并根据其最佳猜测进行绘制。但是,关于此的真正奇怪的是,它并不总是这样做。调整轮廓样式后,轮廓行为立即恢复为类似于在其他浏览器上看到的外观:

a:focus{
    outline-style: dashed;
}

不幸的是,由于轮廓渲染的定义不明确,因此无法判断任何浏览器在这方面是否存在错误。尽管HTML5明确允许a元素包含大多数其他元素,但它根本没有说明应如何调整其显示模式,因此看起来浏览器对此无能为力。但是,这里的主要问题是概述。

解决原始问题的简单方法当然display是将a元素的样式显式设置为默认样式以外的其他样式inline。通过使其更具可预测性,这至少将改善轮廓渲染。您可能希望也可能不希望将div元素的样式移到元素上a,这取决于这些元素div在布局中所扮演的角色以及它们是否必要。a实际上,由于我在规范中所描述的,您所拥有的大多数样式实际上并没有真正生效。



 类似资料:
  • 我有一个场景,当焦点被赋予元素时,在InternetExplorer10中焦点轮廓没有被正确表示。 嵌套在每个元素中的是一系列元素,在最低级别div中的是元素。 当我对每个元素进行制表时(通过IE10),焦点轮廓将显示元素组右侧的偏移量。当我在Chrome中查看页面时,焦点轮廓会完美地显示出来。 我已经能够在JSFIDLE中重现这一点。 CSS是臃肿的风格从现有的项目,我有这个问题。

  • 问题内容: 据我所知,如果使用IE10 / IE11,我应该可以使用标准化的flex术语。 我有一个容器div和2个子div。 2个子div不能大于400px,因此应始终有足够的空间容纳。 我希望第一个孩子一直在顶部,第二个孩子一直在底部。 这适用于Chrome和Firefox,但不适用于IE,我也不知道为什么。 欢迎任何意见和反馈。 问题答案: IE 10和11在正确渲染flexbox时存在许多

  • 我正在用flexbox做实验,并创建了这个布局。我试图让中间写着“嘿”的白色方框成为父方框的90%宽度/高度,但百分比似乎不会影响它。(我把它设置为100px/100px目前工作) 这很奇怪,因为父节点在检查时有一个定义的宽度/高度。 有人能告诉我如何实现吗?(此外,对我如何使用flexbox的一般批评也很赞赏) http://jsfiddle.net/yv3Lw5gy/1/ 相关类别:

  • #include <stdio.h> int main(void) { int i = 0; int sum = 0; for (i = 1; i <= 200; i++) { sum += i; } printf("%d\n", sum); return

  • 抱歉,如果以前有人问过这个问题,但我花了很长时间搜索都没有成功。 我有一个面板,我试图使用GridBagLayout添加一些组件。 问题是,出于某种原因,我无法理解-我试图添加的JTextArea似乎忽略了分配给它的宽度-它似乎接受高度没有问题。 除了文本区域之外,所有组件都添加得很好——文本区域的宽度应该为3,但显示宽度为1。 我不明白为什么会这样,有人能帮忙吗? 提前感谢您的帮助。 代码:(编

  • 基于这篇文章,我运行我的Spring Boot应用程序 具有该配置文件的组件不运行。我尝试用根应用程序类中的以下代码来验证活动概要文件 日志消息输出为空。 少了什么?