【问题标题】:remove a certain css class for a particular .aspx page删除特定 .aspx 页面的特定 css 类
【发布时间】:2011-07-30 22:11:00
【问题描述】:

我有一个 .css 文件如下:

body {
  background-color:#ffffff;
  font-size:12px;
  line-height:18px;
  padding:0px;
  margin:0px;
  padding-top:10px;
}

ul,h1,h2,h3,li,p {
  padding:0px;
  margin:0px;
}

img {
  border:0px;
}

.wrapper {
  margin:0px auto;
  width:98%;
  border:solid 0px red;
}

此 CSS 适用于我网站中的所有页面。如果您观察,所有图像标签的边框都设置为 NONE。

现在,仅在特定页面中,我有一个图像标签如下:

<img border="1" src='../something'/>

图像正确显示,但边框没有。我需要为这个图像标签设置边框,我不必使用样式属性,因为这个图像标签是由 HTML Web 编辑器生成的,它添加了一个属性 "border=1" 而不是样式属性。

我怎样才能做到这一点??

有没有办法删除页面的特定 css 类?

我正在尝试的另一种方法是让网络编辑器的客户端事件将 border=1 更改为 style="border:1"(这可行)

【问题讨论】:

  • style = "border: 1px"确实是解决问题的最佳方案。
  • 1 - 生成后不能编辑图像标签吗? 2 - 页面上是否还有其他不应有边框的图像标签?

标签: .net asp.net css


【解决方案1】:

如果可以唯一标识一个父元素,比如body标签:

<body id="myUniquePage">

然后您可以为该页面创建更具体的样式:

#myUniquePage img {border: 1px solid red;}

当然,您可能不希望页面上的所有图像都带有该边框,因此您希望在页面上定位一个更具体的容器...也许是围绕文本编辑器创建的内容的 DIV .

【讨论】:

  • 页面上是否还有其他不应该有边框的图像标签?是的
  • 图片是否要在页面的同一区域有边框?
【解决方案2】:

如果您可以将类属性添加到要覆盖其默认样式的页面的正文标记,那么您可以使用 CSS 后代选择器为该页面定义一个覆盖,如下所示:

body.mypage img {
    border:1px;
}

但是您应该知道,这会影响页面上的每张图片。如果您想本地化此覆盖生效的位置,那么您可以将相同的技术应用于更接近相关图像的容器,例如,包含 div:

div.mydiv img {
    border:1px;
}

【讨论】:

    【解决方案3】:

    您可以添加而不是删除。

    向页面添加另一个样式表,样式如下:

    img {
      border: 1px solid red; !important
    }
    

    因为两个标签是相同的,所以应该使用它来代替通用 css 文件中定义的标签。

    【讨论】:

    • 这适用于所有图像标签,我只需要为特定图像应用边框,我认为最好的解决方案:在客户端事件中将border=1更改为style='border:1'网络编辑器(现在我需要谷歌搜索基础网络编辑器的客户端事件!!!)
    • 是的,如果你能做到这一点,那将是一个外科手术解决方案,我建议更像是一个大锤解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2021-03-14
    • 2018-11-06
    • 2021-05-28
    • 2018-03-08
    • 1970-01-01
    相关资源
    最近更新 更多