- CSS only cross browser clipped corners?
- <style type="text/css">
- <!--
- div.big {
- position: relative;
- width: 600px;
- height: 200px;
- background:#FFF url(images/pattern.png)
- border: solid 1px black;
- }
- div.top-left-b {
- width: 0;
- height: 0;
- position: absolute;
- top: 0px;
- left: 0px;
- border-top: solid 40px black;
- border-right: solid 40px transparent;
- z-index: 1;
- }
- div.top-left-w {
- width: 0;
- height: 0;
- position: absolute;
- top: -1px;
- left: -1px;
- border-top: solid 40px white;
- border-right: solid 40px transparent;
- z-index: 2;
- }
- div.top-right-b {
- width: 0;
- height: 0;
- position: absolute;
- top: 0px;
- right: 0px;
- border-top: solid 40px black;
- border-left: solid 40px transparent;
- z-index: 1;
- }
- div.top-right-w {
- width: 0;
- height: 0;
- position: absolute;
- top: -1px;
- right: -1px;
- border-top: solid 40px white;
- border-left: solid 40px transparent;
- z-index: 2;
- }
- div.bottom-left-b {
- width: 0;
- height: 0;
- position: absolute;
- bottom: 0px;
- left: 0px;
- border-bottom: solid 40px black;
- border-right: solid 40px transparent;
- z-index: 1;
- }
- div.bottom-left-w {
- width: 0;
- height: 0;
- position: absolute;
- bottom: -1px;
- left: -1px;
- border-bottom: solid 40px white;
- border-right: solid 40px transparent;
- z-index: 2;
- }
- div.bottom-right-b {
- width: 0;
- height: 0;
- position: absolute;
- bottom: 0px;
- right: 0px;
- border-bottom: solid 40px black;
- border-left: solid 40px transparent;
- z-index: 1;
- }
- div.bottom-right-w {
- width: 0;
- height: 0;
- position: absolute;
- bottom: -1px;
- right: -1px;
- border-bottom: solid 40px white;
- border-left: solid 40px transparent;
- z-index: 2;
- }
- -->
- </style>
- <div class="big">
- <div class="top-left-b"><!-- --></div>
- <div class="top-left-w"><!-- --></div>
- <div class="top-right-b"><!-- --></div>
- <div class="top-right-w"><!-- --></div>
- <div class="bottom-left-b"><!-- --></div>
- <div class="bottom-left-w"><!-- --></div>
- <div class="bottom-right-b"><!-- --></div>
- <div class="bottom-right-w"><!-- --></div>
- </div>
- <div class="outer-clipped-box">
- <div class="inner-clipped-box">
- <div class="content-clipped-box">
- Content here.
- </div>
- </div>
- </div>
- .outer-clipped-box {
- height: 200px;
- width: 200px;
- overflow: hidden;
- }
- .inner-clipped-box {
- height: 250px;
- width: 250px;
- background: #ddf;
- -moz-transform-origin: 140px 84px;
- -moz-transform: rotate(45deg);
- -webkit-transform-origin: 140px 84px;
- -webkit-transform: rotate(45deg);
- transform-origin: 140px 84px;
- transform: rotate(45deg);
- }
- /* Undo rotation, to get the content in the right position*/
- .content-clipped-box {
- height: 150px;
- width: 150px;
- -moz-transform-origin: center center;
- -moz-transform: rotate(-45deg) translate(0,70px);
- -webkit-transform-origin: center center;
- -webkit-transform: rotate(-45deg) translate(0,70px);
- transform-origin: center center;
- transform: rotate(-45deg) translate(0,70px);
- }