2012-04-12 1 views
0

クロスブラウザのコーナーのためのソリューションを実装しようとしていますが、デモはすべてのブラウザで機能しますが、自分のコードで実装しようとすると、すべてのブラウザで機能します IE8。ここでCSSとCross Browser Rounded Corners

は私のCSSです:

body { background:#ffffff url("images/bg.gif") repeat-x ; 
font-family:verdana,helvetica,sans-serif ; 
font-size:12px ; 
color:#000000 ; 
margin:0 auto ; 
padding:0 ; 
} 

.clear { clear:both } /* clears floats */ 




/* #container defines layout width and positioning */ 
#container { width:1000px ; 
margin:auto ; 
position:relative ; 
z-index:inherit ; 
zoom:1 ; /* enables rounded corners in IE6 */ 
} 

#header { width:1000px ; 
height:75px ; 
padding:10px 0px 10px 0px ; 
} 

    #header-logo { float:left ; 
    width:255px ; 
    height:55px ; 
    background:url("http://template.sophio.com/images/logo.png") no-repeat ; 
    } 

    #header-phone { float:left ; 
    display:block ; 
    line-height:55px ; 
    background:url("images/header-phone-bg.png") no-repeat ; 
    background-position:0px 0px ; 
    font-size:28px ; 
    color:#900 ; 
    font-weight:bold ; 
    padding-left:50px ; 
    margin:0px 0px 0px 120px ; 
    } 

    #header-right { float:right ; 
    width:225px ; 
    } 

     #header-right-translate { display:block ; 
     text-align:right ; 
     background:#ffffff ; 
     line-height:26px ; 
     } 

     #header-right-social { display:block ; 
     text-align:right ; 
     background:#FF9 ; 
     line-height:24px ; 
     margin-top:5px ; 
     } 

#navbar { width:1000px ; 
height:32px ; 
background:#9d9687 url("images/header-bg.gif") repeat-x ; 
border:1px solid #494437 ; 
-moz-border-radius: 11px 11px 0px 0px ; 
-webkit-border-radius: 11px 11px 0px 0px ; 
border-radius: 11px 11px 0px 0px ; 
behavior: url("border-radius.htc"); 
} 

、ここでは私のHTMLです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>New Two Column Right</title> 
<link rel="stylesheet" href="../style.css" type="text/css" /> 
</head> 

<body> 

<div id="container"> 
    <div id="header"> 
     <div id="header-logo"></div> 
     <div id="header-phone">888-563-2591</div> 
     <div id="header-right"> 
      <div id="header-right-translate"> 
      [Google Translate Widget Here]   
      </div> 
      <div id="header-right-social"> 
      [Social Icons Widget Here] 
      </div> 
     </div> 
    </div> 

    <div id="navbar">text</div> 
</div> 


</body> 
</html> 

ナビゲーションバーは、私が丸みを帯びた角を適用していますものです。

IE8では、すべての角が丸くなりますが、左上と右隅は丸められます(IE8以外はすべて表示されます)。

+1

http://www.w3schools.com/cssref/css3_pr_border-radius.asp - 国境半径はIE8で素晴らしいプレーしません。 – FiveTools

+1

ビヘイビア:url( "border-radius.htc"); 4つのコーナーすべてで機能します。これはおそらく、IE8で角を丸くするための唯一の他の選択肢です。http://snook.ca/archives/html_and_css/rounded_corners_experiment_ie/画像の使用以外は – kmb64

+0

私の答えを見て、問題があれば教えてください。 – w3uiguru

答えて

7

この問題はCSSPIEを使用して、stackoverflowの上に他のものによって解決された:http://css3pie.com/

丸いコーナーがIE 8で正しく表示するために、丸い角を有する要素が有していなければならない:

position: relative; 

がcssに設定されています。

は、以下を参照してください。また、

CSS rounded corners in IE8

Border Radius for IE8

Border-radius for IE7 & IE8

http://jc-designs.net/blog/2010/07/getting-border-radius-to-work-in-ie/ (位置詳細は:相対ハック)

SASSライブラリコンパスSはまた、クロスブラウザのボーダー半径を提供していますが、私はIE8

+0

+1なぜホイールを再発明するのですか?それは既によく丸められたコーナーがあります!申し訳ありませんが、抵抗できませんでした。関連するメモ...今日私はソースコメントを読んだ - Dropboxはもはやie6をサポートしていない... –

0

でそれを使用して経験がないデモのフィドルを参照してください:http://jsfiddle.net/esjzX/1/http://jsfiddle.net/esjzX/1/embedded/result/

Css: 

b.rtop, b.rbottom{display:block;background: #FFF} 
b.rtop b, b.rbottom b{display:block;height: 1px; 
    overflow: hidden; background: #9BD1FA} 
b.r1{margin: 0 5px} 
b.r2{margin: 0 3px} 
b.r3{margin: 0 2px} 
b.rtop b.r4, b.rbottom b.r4{margin: 0 1px;height: 2px} 

.rs1{margin: 0 2px} 
.rs2{margin: 0 1px} 
div.container{ margin: 0 10%;background: #9BD1FA} 

HTML: 

<div class="container"> 
<b class="rtop"> 
    <b class="r1"></b> <b class="r2"></b> <b class="r3"></b> <b class="r4"></b> 
</b> 
<h1 align="center">Hi!</h1> 
    <p>Rounded corners for cross browsers</p> 
<b class="rbottom"> 
    <b class="r4"></b> <b class="r3"></b> <b class="r2"></b> <b class="r1"></b> 
</b> 
</div> 
<br /><br /> 
<div class="container"> 
<b class="rtop"> 
    <b class="rs1"></b> <b class="rs2"></b> 
</b> 
<h1 align="center">Hi!</h1> 
    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p> 
<b class="rbottom"> 
    <b class="rs2"></b> <b class="rs1"></b> 
</b> 
</div> 

スクリーンショット:純粋なCSSベースは、クロスブラウザの互換性のためのコーナーを丸め

enter image description here