CSS转换不适用于Safari?有人知道一个工作吗?

时间:2015-05-12 15:52:07

标签: css html5 safari

我一直在处理这个问题一个星期了。我正在重新设计一个网站,我刚刚完成了垂直导航。除非我在Safari中查看网站,否则一切都很完美。变换360变得倾斜,并且难以阅读文本。有没有人知道如何解决这个问题,或者如果有解决方法我可以使用它来使Mac用户看起来不同吗?我的整个办公室都使用Mac,所以这是我必须尽快解决的问题。任何意见,将不胜感激。

这是Demo

#cssmenu {
    float:left;
    position:relative;
}

#cssmenu ul {
    font-size:14px; 
}

#cssmenu ul {
    font-size:16px;
}
#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a {
  margin: 10px 0px 0px 0px;
  padding: 0;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#cssmenu {

}

#cssmenu > ul {
  width: 200px;
  background: #ffffff;
}

#cssmenu > ul > li > a {
    font-family: 'PT Sans Narrow', sans-serif;
  padding: 8px 15px;
  font-size: 16px;
  color: #666666;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  -ms-transition: color .2s ease;
  transition: color .2s ease;
}

#cssmenu > ul > li:hover > a,

#cssmenu > ul > li > a:hover {
  color: #222222;
}

#cssmenu ul li.has-sub > a::after {
  position: absolute;
  right: 15px;
  display: block;
  width: 10px;
  height: 10px;
  content: "";
  border-radius: 2px;
}

#cssmenu > ul > li.has-sub > a::after {
  top: 14px;
  background: #666666;
}

#cssmenu > ul > li.has-sub:hover > a::after,
#cssmenu > ul > li.has-sub > a:hover::after {
  background: #222222;
}

#cssmenu ul ul li.has-sub > a::after {
  top: 13px;
  background: #ffffff;
}

#cssmenu ul ul li.has-sub:hover > a::after,
#cssmenu ul ul li.has-sub > a:hover::after {
  background: #dddddd;
}

#cssmenu ul li.has-sub > a::before {
  position: absolute;
  right: 15px;
  z-index: 2;
  display: block;
  width: 0;
  height: 0;
  border: 3px solid transparent;
  content: "";
}

#cssmenu > ul > li.has-sub > a::before {
  top: 16px;
  border-left-color: #ffffff;
}

#cssmenu ul ul li.has-sub > a::before {
  top: 15px;
  border-left-color: #2e353b;
}

#cssmenu ul {
  -webkit-transform: "some value here";
  transform: "some value here";
  -webkit-perspective: 600px;
  -moz-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

#cssmenu ul ul {
  position: absolute;
  top: 0;
  left: -9999px;
  width: 180px;
  background: #2e353b;
  opacity: 0;
  -moz-transition: opacity 0.2s ease, -moz-transform 0.2s ease;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  -ms-transition: opacity 0.2s ease, -ms-transform 0.2s ease;
  -o-transition: opacity 0.2s ease, -o-transform 0.2s ease;
  transition: opacity .2s ease, transform .2s ease;
  -webkit-transform: rotate3d(0, 1, 0, 45deg);
  -moz-transform: rotate3d(0, 1, 0, 45deg);
  transform: rotate3d(0, 1, 0, 45deg);
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  transform-origin: left center;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

#cssmenu ul li:hover > ul {
  left: 100%;
  opacity: 1;
  transform: rotate3d(0, 0, 0, 0);
}

#cssmenu ul ul::after {
  position: absolute;
  left: -8px;
  top: 14px;
  z-index: 5;
  display: block;
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-right-color: #2e353b;
  content: "";
}

#cssmenu ul ul a {
  padding: 8px 15px;
  font-size: 12px;
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  -ms-transition: color .2s ease;
  transition: color .2s ease;
}

#cssmenu ul ul li:hover > a,
#cssmenu ul ul li a:hover {
  color: #dddddd;
}  
<div id='cssmenu'> <!-- Containter For Nav Menu -->
<ul>
   <li><strong>Browse Our Products</strong></li> <!--List Title-->

   <li><a href='http://www.offsetprinting.com/products/businesscards'>Business Cards</a></li>
   <li class='active has-sub'><a href='#'>Stationary</a>
        <ul>
         <li class=''><a href='http://www.offsetprinting.com/products/letterhead'>Letter Head</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/envelopes4color'>Envelopes</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/labels'>Labels</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/notepads'>Note Pads</a></li>
        </ul>
      </li>
   <li><a href='http://www.offsetprinting.com/products/brochures'>Brochures</a></li>

   <li class='active has-sub'><a href='#'>Signage</a>
        <ul>
         <li class=''><a href='http://www.offsetprinting.com/products/signage'>Signs</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/yard-signs'>Yard signs</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/trade-show-graphics'>Trade Show Graphics</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/x-frame-with-banner'>X-Frame With Banners</a></li>
        </ul>
      </li>
   <li><a href='http://www.offsetprinting.com/products/postcards'>Post Cards</a></li>
   <li><a href='http://www.offsetprinting.com/products/vinylbanners'>Vinyl Banners</a></li>

   <li class='active has-sub'><a href='#'>Mailing Services</a>
        <ul>
         <li class=''><a href='http://www.offsetprinting.com/mailing/postcards-mailing'>Ink Jet</a></li>
         <li class=''><a href='http://www.offsetprinting.com/mailing/postcards-mailing'>Direct Mailing</a></li>
         <li class=''><a href='http://www.offsetprinting.com/mailing/postcards-mailing'>Sorting & Tabbing</a></li>
         <li class=''><a href='http://www.offsetprinting.com/mailing/postcards-mailing'>Mailing List</a></li>
        </ul>
      </li>

   <li class='active has-sub'><a href='#'>Marketing Material</a>
        <ul>
         <li class=''><a href='http://www.offsetprinting.com/products/greetingcards'>Greeting Cards</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/rackcards'>Rack Cards</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/brochures'>Brochures</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/bookmarks'>Bookmarks</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/folders'>Presentation Folders</a></li>
        </ul>
      </li>
   <li class='active has-sub'><a href='#'>Speciality Products</a>
        <ul>
         <li class=''><a href='http://www.offsetprinting.com/products/magnets-digital'>Magnets</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/tshirts-digital'>T-Shirts (Heat Transfer Imaging)</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/bumperstickers-digital'>Bumper Stickers</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/plastic-digital'>Plastic</a></li>
         <li class=''><a href='http://www.offsetprinting.com/products/staticcling-digital'>Static Cling</a></li>
        </ul>
      </li>
   <li><a href='https://www.apparelcatalog.net/Default.aspx?site=XCHWEUPRWS'>Apparel</a>  </li>
</ul>
</div><!-- End of CSS Menu -->

1 个答案:

答案 0 :(得分:1)

您错过了-webkit-区块中transform的{​​{1}}前缀版本..

:hover

工作版......

#cssmenu ul li:hover > ul {
  left: 100%;
  opacity: 1;
  -webkit-transform: rotate3d(0, 0, 0, 0); /* <-- add this */
  transform: rotate3d(0, 0, 0, 0);
}
#cssmenu {
    float:left;
    position:relative;
}

#cssmenu ul {
    font-size:14px; 
}

#cssmenu ul {
    font-size:16px;
}
#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a {
  margin: 10px 0px 0px 0px;
  padding: 0;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#cssmenu {

}

#cssmenu > ul {
  width: 200px;
  background: #ffffff;
}

#cssmenu > ul > li > a {
    font-family: 'PT Sans Narrow', sans-serif;
  padding: 8px 15px;
  font-size: 16px;
  color: #666666;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  -ms-transition: color .2s ease;
  transition: color .2s ease;
}

#cssmenu > ul > li:hover > a,

#cssmenu > ul > li > a:hover {
  color: #222222;
}

#cssmenu ul li.has-sub > a::after {
  position: absolute;
  right: 15px;
  display: block;
  width: 10px;
  height: 10px;
  content: "";
  border-radius: 2px;
}

#cssmenu > ul > li.has-sub > a::after {
  top: 14px;
  background: #666666;
}

#cssmenu > ul > li.has-sub:hover > a::after,
#cssmenu > ul > li.has-sub > a:hover::after {
  background: #222222;
}

#cssmenu ul ul li.has-sub > a::after {
  top: 13px;
  background: #ffffff;
}

#cssmenu ul ul li.has-sub:hover > a::after,
#cssmenu ul ul li.has-sub > a:hover::after {
  background: #dddddd;
}

#cssmenu ul li.has-sub > a::before {
  position: absolute;
  right: 15px;
  z-index: 2;
  display: block;
  width: 0;
  height: 0;
  border: 3px solid transparent;
  content: "";
}

#cssmenu > ul > li.has-sub > a::before {
  top: 16px;
  border-left-color: #ffffff;
}

#cssmenu ul ul li.has-sub > a::before {
  top: 15px;
  border-left-color: #2e353b;
}

#cssmenu ul {
  -webkit-transform: "some value here";
  transform: "some value here";
  -webkit-perspective: 600px;
  -moz-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

#cssmenu ul ul {
  position: absolute;
  top: 0;
  left: -9999px;
  width: 180px;
  background: #2e353b;
  opacity: 0;
  -moz-transition: opacity 0.2s ease, -moz-transform 0.2s ease;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  -ms-transition: opacity 0.2s ease, -ms-transform 0.2s ease;
  -o-transition: opacity 0.2s ease, -o-transform 0.2s ease;
  transition: opacity .2s ease, transform .2s ease;
  -webkit-transform: rotate3d(0, 1, 0, 45deg);
  -moz-transform: rotate3d(0, 1, 0, 45deg);
  transform: rotate3d(0, 1, 0, 45deg);
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  transform-origin: left center;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}

#cssmenu ul li:hover > ul {
  left: 100%;
  opacity: 1;
  -webkit-transform: rotate3d(0, 0, 0, 0);
  transform: rotate3d(0, 0, 0, 0);
}

#cssmenu ul ul::after {
  position: absolute;
  left: -8px;
  top: 14px;
  z-index: 5;
  display: block;
  width: 0;
  height: 0;
  border: 4px solid transparent;
  border-right-color: #2e353b;
  content: "";
}

#cssmenu ul ul a {
  padding: 8px 15px;
  font-size: 12px;
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  -ms-transition: color .2s ease;
  transition: color .2s ease;
}

#cssmenu ul ul li:hover > a,
#cssmenu ul ul li a:hover {
  color: #dddddd;
}