Webkit Transform Blocking Link

webkit transform blocking link

After combing through the webkit Bugzilla, I found someone who had the same issue and found a workaround.

.face.back {
background-color: #125672;
-moz-transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
}

Becomes:

.face.back {
background-color: #125672;
-moz-transform: rotateY(180deg);
-webkit-transform: rotateY(180deg) translateZ(1px);
}

The addition of the translateZ to the transform makes the left side of the element clickable.

Here is a link to the bug: https://bugs.webkit.org/show_bug.cgi?id=54371

webkit transform blocking link

After combing through the webkit Bugzilla, I found someone who had the same issue and found a workaround.

.face.back {
background-color: #125672;
-moz-transform: rotateY(180deg);
-webkit-transform: rotateY(180deg);
}

Becomes:

.face.back {
background-color: #125672;
-moz-transform: rotateY(180deg);
-webkit-transform: rotateY(180deg) translateZ(1px);
}

The addition of the translateZ to the transform makes the left side of the element clickable.

Here is a link to the bug: https://bugs.webkit.org/show_bug.cgi?id=54371

CSS - Transform function not working on links?

You should use display: inline-block for <a> tag (or display: block), because <a> has display: inline by default, but transformable element can't be with display: inline:

Transformable element — an element whose layout is governed by the CSS box model which is either a block-level or atomic inline-level element, or ...

Inline-block — this value causes an element to generate an inline-level block container. The inside of an inline-block is formatted as a block box, and the element itself is formatted as an atomic inline-level box.

ul {    list-style-type: none;}
ul a { text-decoration: none; padding-left: 20px; background-repeat: no-repeat; display: inline-block;}
ul a:hover { text-decoration: underline; color: #666; -webkit-transform: scale(0.9); -moz-transform: scale(0.9); -ms-transform: scale(0.9); transform: scale(0.9);}
a[href $= '.pdf'] { background-image: url(http://i.stack.imgur.com/zJlYq.gif);}
a[href $= '.doc'] { background-image: url(http://i.stack.imgur.com/z2lbW.gif);}
a[href $= '.ppt'] { background-image: url(http://i.stack.imgur.com/Tk5Vv.gif);}
a[href $= '.xls'] { background-image: url(http://i.stack.imgur.com/sOr7E.gif);}
<ul>    <li><a href="/one.pdf">pdf</a></li>    <li><a href="/two.doc">doc</a></li>    <li><a href="/three.ppt">ppt</a></li>    <li><a href="/four.xls">xls</a></li></ul>

Scale Transition of a hyperlink doesn't work

It's not working as expected because the anchor element is inline by default and according to the specification, the element should be a block-level or atomic inline-level element in order for it to be "transformable".

Therefore you would need to change the display of the element to inline-block or block in order for it to work as expected. In doing so, the value inline-block renders the elements as an atomic inline-level element, and therefore the elements become "transformable" by definition.

Updated Example

#logoemailcol {
position: relative;
cursor: pointer;
}
#logoemailcol:hover #logoem {
transform: scale(1.15);
}
#logoem {
display: inline-block;
transition: all 0.5s;
}
<div id="logoemailcol">
<a href="" id="logoem" target="_blank">
<img src="https://cdn1.iconfinder.com/data/icons/simple-icons/2048/email-2048-black.png" style="width: 30px; height: 30px;">
</a>
</div>

How to prevent CSS3 transform from make elements unclickable

What I noticed playing around with it is if I rotated a square around the Y axis, the side sticking out towards me would be "clickable," while the side pointed away would not be. Adding "z-index: 1" to one of the container divs (icon-wrapper or cube or wrap) seems to help.

@font-face and -webkit-transform: rotate, doesn't work

Most inline content doesn't support transforms in webkit browsers - this is a known limitation. Although H1 is a block level tag, my guess is that you're using a span tag (inline) inside the H1 tag around your actual text to add the font, and this is giving you problems.

Add "display: inline-block" and see if that helps.

CSS 3D transform - Unable to click link

I think the backface-visibility property needs not be declared on the wrapper, just the internal divs. It seems to work if you remove the backface-visibility properties from .thumb.flip .thumb-wrapper.flipper

transform not working on css hover element

Links are display:inline by default and so are not affected by transform.

Make the link display:inline-block.

.btn:link,.btn:visited {  text-transform: uppercase;  padding: 15px 40px;  text-decoration: none;  border-radius: 100px;  transition: all .2s;  display: inline-block;}
.btn-white { background-color: white; color: #777;}
.btn:hover { transform: translateY(-30px);}
.btn:active { transform: translateY(-10px);}
<div class="text-box">  <h1 class="primary-header">    <span class="heading-primary-main">Outdoors</span>    <span class="heading-primary-sub">is where life happens</span>  </h1>  <a href="#" class="btn btn-white">Discover Our Tours</a></div>

you have to add Firefox vendor prefix in your css for

you have to add Firefox vendor prefix in your css for box-sizing. I've checked it Firefox 27 and its working..

Here is the Demo.

mc c ftl:before, mc c ftr:before, mc c fbr:before, mc c fbl:before{
box-sizing: border-box;
-moz-box-sizing: border-box; /*Added Mozilla Prefix*/
display: block;
border: solid 10px navy;
width: 200%;
height: 200%;
border-radius: 50%;
-webkit-transform: skewX(-0deg);
-moz-transform: skewX(-0deg);
-ms-transform: skewX(-0deg);
-o-transform: skewX(-0deg);
transform: skewX(-0deg);
content: '';
position: absolute;
z-index: 999;
}


Related Topics



Leave a reply



Submit