【问题标题】:CSS image not showing on pageCSS图像未显示在页面上
【发布时间】:2023-04-10 16:26:01
【问题描述】:

我的路径可能不正确,但我将图像从其文件夹拖放到 css 背景属性,所以它应该是正确的。看起来不错,但不确定。如果我从注释掉的代码中看到的 https url 加载另一个图像,它工作正常!

如果我有正确的路径,这可能与图像安全或权限有关吗?我将图像从另一个文件夹复制到 App_Data/Images/。 我没有收到任何 javascript 控制台错误或控制台中显示找不到图像的任何内容。

.centerMarker {
  position: absolute;
  /*url of the marker*/
  background: url('../App_Data/Images/meetups.png') no-repeat;
  /*this does not work*/
  /*background: url(https://maps.gstatic.com/mapfiles/markers2/marker.png) no-repeat;*/
  /*this works*/
  /*center the marker*/
  top: 50%;
  left: 50%;
  z-index: 1;
  /*fix offset when needed*/
  margin-left: -10px;
  margin-top: -34px;
  /*size of the image*/
  height: 34px;
  width: 20px;
  cursor: pointer;
}

site.css是css所在的位置,从这张图可以看出图片在App_Data的Images中。

这是我在 IE 开发工具的 DOM 资源管理器中看到的内容。 这是正确的吗?

【问题讨论】:

    标签: css asp.net-mvc image visual-studio background-image


    【解决方案1】:

    尝试使用根相对 url 而不是绝对路径。因此,它不会从当前文件开始,爬上树,然后再往下走,而是从顶部开始向下工作。

    background: url('/App_Data/Images/meetups.png') no-repeat;
    

    background: url('~/App_Data/Images/meetups.png') no-repeat;
    

    对于您的文件结构,您的路径看起来确实正确,但是一旦网站在服务器上呈现,您的结构可能会有点不同(例如,Content 文件夹可能只是您所有视图的存储位置,但被省略来自实际路径)。

    【讨论】:

    • 我刚刚尝试了您的两个建议,但都没有成功。我不得不点击图片属性中的“取消阻止”。您认为这可能与权限有关吗?即使我在控制台中没有收到任何关于错误的信息?
    • 无赖。那么这可能是您所暗示的权限问题。尝试将图像移出 App_Data 文件夹并移入新目录,例如 /images(并记住将路径更新为 /images/meetups.png)
    • 不,还是什么都没有!我将它上移了一个文件夹到 App_Data/meetups.png 并更新了背景属性中的路径
    • 当我在解决方案资源管理器中双击图像时,我收到一条弹出消息,提示“系统找不到指定的文件”这是典型的还是应该 VS 在其 IDE 或其他应用程序中打开图像?我可以将鼠标悬停在图像上,它会显示一个拇指!
    • Brian,你能从我发布的图片中检查 URL 路径吗?它取自 IE 开发工具中的 DOM
    猜你喜欢
    • 1970-01-01
    • 2012-09-29
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 2012-12-13
    • 2021-03-30
    相关资源
    最近更新 更多