Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 跨浏览器使用CSS设置链接按钮的样式_Html_Css - Fatal编程技术网

Html 跨浏览器使用CSS设置链接按钮的样式

Html 跨浏览器使用CSS设置链接按钮的样式,html,css,Html,Css,更新#2:除了一个主要问题外,我几乎解决了所有问题。使用相同的结构和CSS IE7/6,每个a都以其容器的100%宽度显示。我希望这一切不会发生。除此之外,其他一切都很好。谁能启发我 更新:应该是这样的 我有下面的html页面(详情如下)。它只是从链接中呈现两个样式化的按钮。我的问题是IE6和IE7的渲染方式不同于Firefox、Safari、IE8和Chrome,它们都能正确渲染 一天来,我一直在努力让它在IE6/7中工作。有人能就我做错了什么提出建议吗 谢谢 <html>

更新#2:除了一个主要问题外,我几乎解决了所有问题。使用相同的结构和CSS IE7/6,每个a都以其容器的100%宽度显示。我希望这一切不会发生。除此之外,其他一切都很好。谁能启发我

更新:应该是这样的

我有下面的html页面(详情如下)。它只是从链接中呈现两个样式化的按钮。我的问题是IE6和IE7的渲染方式不同于Firefox、Safari、IE8和Chrome,它们都能正确渲染

一天来,我一直在努力让它在IE6/7中工作。有人能就我做错了什么提出建议吗

谢谢

<html>
  <head>
    <style>

      .niw-button {
          background:      #1f81c0 url(niw-btn-gradient-normal.png) repeat-x;
          border:          none;
          color:           #fff;
          display:         inline-block;
          font-weight:     bold;
          margin-right:    6px;
          min-width:       95px;
          padding:         2px;
          text-decoration: none;
      }

      .niw-button:hover {
          background: #5e698f url(niw-btn-gradient-hover.png) repeat-x;
      }

      .niw-button > .niw-button-contents {
          border: 1px solid #73b1da;
      }

      .niw-button > .niw-button-contents:hover {
          border: 1px solid #99a1bc;
      }

      .niw-button .niw-button-icon {
          background-position: center;
          background-repeat:   no-repeat;
          float:               right;
          height:              25px;
          width:               27px;
      }

      .niw-button .niw-button-text {
          height:         25px;
          line-height:    1.5em;
          padding-left:   5px;
          padding-right:  27px;
          text-align:     center;
          text-transform: uppercase;
      }

      .right-align {
        float:right;
      }

      .niw-icon-cancel {
          background-image: url(niwater_cancelIcon.png);
      }
    </style>
  </head>
  <body>
    <a class="niw-button right-align" href="#">
      <div class="niw-button-contents">
          <div class="niw-button-icon niw-icon-cancel"></div>
          <div class="niw-button-text">Cancel</div>
      </div>
    </a>
    <a class="niw-button" href="#">
      <div class="niw-button-contents">
          <div class="niw-button-icon niw-icon-cancel"></div>
          <div class="niw-button-text">Cancel</div>
      </div>
    </a>
  </body>
</html>

.niw按钮{
背景:#1f81c0url(niw-btn-gradient-normal.png)repeat-x;
边界:无;
颜色:#fff;
显示:内联块;
字体大小:粗体;
右边距:6px;
最小宽度:95px;
填充:2px;
文字装饰:无;
}
.niw按钮:悬停{
背景:#5e698f url(niw btn gradient hover.png)repeat-x;
}
.niw按钮>.niw按钮内容{
边框:1px实心#73b1da;
}
.niw按钮>.niw按钮内容:悬停{
边框:1px实心#99a1bc;
}
.niw按钮.niw按钮图标{
背景位置:中心;
背景重复:无重复;
浮动:对;
高度:25px;
宽度:27px;
}
.niw按钮.niw按钮文本{
高度:25px;
线高:1.5em;
左侧填充:5px;
右边填充:27px;
文本对齐:居中;
文本转换:大写;
}
.右对齐{
浮动:对;
}
.niw图标取消{
背景图片:url(niwater_cancelIcon.png);
}

IE6/7不支持
显示:内联块
,IE6不支持子(
父项>子项
)选择器。因此,您可能应该查看css中的这些点…

编辑:我实际上没有在IE8中获得正确的渲染,这就是我在下面所述的内容:

首先,您应该将


这为我修复了定位,但随后在样式方面出现了损失。我还没有修改CSS来纠正这一点,但它应该很简单。其次,您有大量的类来处理一个简单的问题。可以说,您应该只需要外部
div中的一个类来识别内部发生了什么,然后您的CSS就可以从那里下降。

对于按钮/链接问题的资源,通常只有一个提示:


实际上我自己也很困惑。他们看起来怎么样?如果您不让我们知道您打算做什么,则很难解决问题。

编辑:现在我了解了您的图像:


只需使用display:block使您的
元素阻塞元素,并在元素内部放置某种跨度以保持图标。或者你可以把整个事情做成一个图像……

父>子问题解决了好几个问题。完全忘了,谢谢。但主要问题仍然存在。然后整个按钮无法单击。这稍微破坏了解决方案。如果样式设置正确,则可能会出现这种情况-显示图标的内部div是不必要的,因为这种样式可以应用于链接本身,四周都有适当的填充,a元素上没有边距。对于内边框,可以在链接文本上使用span。我尝试过这种方法,但它似乎会在IE6/7中引起同样数量的问题,实际上我不能这样做。主容器(在ym情况下为a)具有渐变背景)。然后,内容需要设置一个图标作为背景-它不能是一个一个设置为阻止。是的,它可以。用渐变背景构建a。在其内部放置一个跨度,以图标为背景。就这样。然后你就失去了内部边界,这是一个要求。我通过调整所有按钮的宽度来解决这个问题。。。应为客户所接受。(手指交叉)我仍然不明白为什么你不能使用鼠标上方变化的简单平面图像。因为我们有大量的按钮,每个按钮都有不同的图标和文本,每个按钮都有不同的宽度。我尝试了静态方法,如果每个按钮(普通和悬停)必须有2个图像,这就像回到90年代早期的HTML一样
  <div class="niw-button-contents">
      <div class="niw-button-icon niw-icon-cancel"></div>
      <div class="niw-button-text"><a class="niw-button right-align" href="#">Cancel</a></div>
  </div>


  <div class="niw-button-contents">
      <div class="niw-button-icon niw-icon-cancel"></div>
      <div class="niw-button-text"><a class="niw-button" href="#">Cancel</a></div>
  </div>