首页 / css教程

    CSS中hack是什么意思

    类型:原创      发布者:清浅2018-12-10 09:29:11

    CSS中的hack就是针对不同的浏览器和版本来写不同的CSS样式,使其能呈现出我们想要的页面效果

    CSS hack主要是用来解决浏览器的兼容问题,能够针对不同的浏览器去写不同的CSS,而且还能在不同的浏览器中得到想要的页面效果,今天将在文章中为大家具体介绍什么是hack

    【推荐课程:CSS教程

    hack的定义:

    hack就是由于不同厂商的浏览器,如Internet Explorer,Firefox,Chrome等,或者是同一厂商的浏览器的不同版本,对CSS的支持不同,所以生成的页面效果也不一样,在这个时候就需要我们针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中得到我们想要的页面效果。换句话说, hack的目的就是使你的CSS代码兼容不同的浏览器

    例如:我们在写CSS3属性时经常会碰到针对不同的浏览器需要写不同的代码,如下所示

    animation:5s;/*标准版*/
    -moz-animation: 5s;/* Firefox */
    -webkit-animation:5s;/* Safari 和 Chrome */
    -o-animation:5s;/* Opera */

    !important问题:

    Internet Explorer 6及以下的版本中的!important标识符存在问题,如果同一属性的另一个样式出现在同一样式声明块中,就会导致该标识符被忽略。这可用于提供Internet Explorer 6及其他浏览器忽略的特殊属性值。但在Internet Explorer 7及以上这个问题就不存在了

      p
     {
         background: green !important;
         background: red; 
             }
          </style>
       </head>
       <body class="page-body">
          <p>Test</p>

    我们可以通过IE浏览器上的F12调试工具切换IE的版本来看运行的效果

    在IE5上:

    在IE8上:

    *html的问题

    hack部分的代码用星号“*”表示后面跟“html”。这是通用选择器和元素类型选择器的组合。在某些时候,这两个选择器一起在另一个选择器之前,只在在某些低版本的的中才有效果,而在其他浏览器中没有效果。虽然没有效果它依然不会报错,因为实际上个它是有效的

    *html p
             {
                background: green;
                background: red; 
             }
          </style>
       </head>
       <body class="page-body">
          <p>Test</p>

    在IE5上:

    未标题-2.jpg

    在IE8上:

    未标题-2.jpg

    总结:以上就是本篇文章的全部内容了,希望通过这篇文章能够让大家对hack有一定的了解

    以上就是CSS中hack是什么意思的详细内容,更多请关注php中文网其它相关文章!

php中文网第四期线上直播培训班

PHP中文网

未登录