当前位置: 首页 > 知识库问答 >
问题:

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

方长卿
2023-03-14

我有一个场景,当焦点被赋予a元素时,在InternetExplorer10中焦点轮廓没有被正确表示。

嵌套在每个a元素中的是一系列div元素,在最低级别div中的是img元素。

当我对每个a元素进行制表时(通过IE10),焦点轮廓将显示a元素组右侧的偏移量。当我在Chrome中查看页面时,焦点轮廓会完美地显示出来。

我已经能够在JSFIDLE中重现这一点。

CSS是臃肿的风格从现有的项目,我有这个问题。

共有1个答案

公子昂
2023-03-14

您尚未调整a元素的display属性,因此它们仍在内联显示,即使它们“包含”块级div元素。结果与CSS2的本节一致。1个规范,其中描述了包含块子级的内联线的行为。

没有一款浏览器会自动调整显示模式,但Chrome似乎在猜测默认轮廓的位置,并根据其最佳猜测绘制轮廓。然而,关于这一点,真正奇怪的是,它并不总是这样做。当您调整大纲样式时,大纲行为立即恢复为类似于您在其他浏览器上看到的内容:

a:focus{
    outline-style: dashed;
}

不幸的是,因为大纲渲染定义不好,所以无法判断浏览器在这方面是否有问题。尽管HTML5明确允许一个元素包含大多数其他元素,但它并没有说明它们的显示模式应该如何调整,如果有的话,所以看起来浏览器对此无能为力。然而,这里的主要问题是轮廓。

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

 类似资料:
  • 问题内容: 我有一种方案,当焦点放在元素上时,焦点轮廓在Internet Explorer 10中无法正确显示。 嵌套在每个元素内的是一系列元素,并且在最底层的div内是一个元素。 当我通过IE10 标签到每个元素时,焦点轮廓显示在元素组的右侧偏移。当我在Chrome中查看页面时,焦点轮廓会完美显示。 CSS充斥着我遇到问题的现有项目的样式。 问题答案: 您尚未调整元素的属性,因此即使它们“包含”

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

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

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

  • 我正在为Cytoscape版本3.8.2中的网络创建一个手动布局。我希望能够定义边缘长度,这样网络看起来更均匀。有定义属性边长的方法吗? 具体地说,我希望像下面的网络小节是一个完美的圆。

  • 问题内容: 我正在尝试将Twitter datetime转换为本地iso-string(对于prettyDate)已有2天了。我只是不正确的当地时间。 即时通讯使用以下功能: 在newdate中一切正常,但是toISOString()再次将其返回到原始时间…有人可以帮助我从Twitterdate中获取iso中的本地时间,格式为:Thu,31May 2012 08:33:41 +0000 问题答案: