2014-12-15 5 views
0

좋아요, 버튼이있어 내가 왜 도심에서 그 중심을 잡고 있는지 알 수 없습니다. 내 첫 번째 의심은 CSS에 있었지만, 사용/변경된 align 또는 position의 어떤 종류도 작동하지 않았습니다.CSS 버튼이 불명확하게 중첩되어 있습니다.

여기 html과 css가 있습니다. 아마 내가 찾는 것보다 빨리 찾을 수있을거야. (사람이 관심이 있다면 또한 여기에 jsfiddle 링크는 다음과 같습니다 http://jsfiddle.net/takkun/63uktgyo/) 수평 중심의 효과가

/* ROUNDED ONE */ 
 
.Gcheckbox { 
 
/*CHANGES GRAY SQUARE DIMENSIONS*/ 
 
\t width: 16px; 
 
\t height: 33px; 
 
\t background: #ff0000; 
 
\t 
 
\t /*GRAY SQUARE BACKGROUND FADER*/ 
 
\t background: linear-gradient(top, #000000 100%, 0000ff 0%, #ff0000 0%); 
 
\t background: -webkit-linear-gradient(top, 0000ff 100%, 0000ff 0%, #ff0000 0%); 
 
\t background: -moz-linear-gradient(top, #000000 100%, 0000ff 0%, #ff0000 0%); 
 
\t background: -o-linear-gradient(top, #000000 100%, 0000ff 0%, #ff0000 0%); 
 
\t background: -ms-linear-gradient(top, #000000 100%, 0000ff 0%, #ff0000 0%); 
 
\t filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfff4', endColorstr='#b3bead',GradientType=0); 
 
\t margin: 0px auto; 
 
\t 
 
\t position: relative; 
 
} 
 

 
.Gcheckbox label { 
 
\t cursor: pointer; 
 
\t position: absolute; 
 
\t width: 10px; 
 
\t height: 10px; 
 

 
/*MAKES THE GREEN CIRCLE A CIRCLE*/ 
 
\t -webkit-border-radius: 10px; 
 
\t -moz-border-radius: 10px; 
 
\t border-radius: 10px; 
 
/********************************/ 
 

 
\t left: 3px; 
 
\t top: 11.25px; 
 

 
\t box-shadow: inset 0px 0px 0px rgba(239,239,238,1), 0px 0px 0px rgba(239,239,238,1); 
 
\t -webkit-box-shadow: inset 0px 0px 0px rgba(239,239,238,1), 0px 0px 0px rgba(239,239,238,1); 
 
\t -moz-box-shadow: inset 0px 0px 0px rgba(239,239,238,1), 0px 0px 0px rgba(239,239,238,1); 
 

 
\t /*BEHIND GREEN CIRCLE BACKGROUND*/ 
 
\t background: -webkit-linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
\t background: -moz-linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
\t background: -o-linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
\t background: -ms-linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
\t background: linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
\t filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#0000ff',GradientType=1); 
 
} 
 

 
.Gcheckbox label:after { 
 
\t -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; 
 
\t filter: alpha(opacity=0); 
 
\t opacity: 0; 
 
\t content: ''; 
 
\t position: absolute; 
 
\t width: 10px; 
 
\t height: 10px; 
 
\t background: #00bf00; 
 

 
\t background: linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 
\t background: -webkit-linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 
\t background: -moz-linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 
\t background: -o-linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 
\t background: -ms-linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 

 
\t -webkit-border-radius: 5px; 
 
\t -moz-border-radius: 5px; 
 
\t border-radius: 5px; 
 
\t bottom: 0px; 
 
\t right: 0px; 
 

 
\t -webkit-box-shadow: inset 0px 0px 0px #00ff00, 0px 0px 0px rgba(42,171,43); 
 
\t -moz-box-shadow: inset 0px 0px 0px #00ff00, 0px 0px 0px rgba(42,171,43); 
 
\t box-shadow: inset 0px 0px 0px #00ff00, 0px 0px 0px rgba(42,171,43); 
 
} 
 

 
/*CHANGE HOVER EFFECT OPACITY*/ 
 
.Gcheckbox label:hover::after { 
 
\t -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; 
 
\t filter: alpha(opacity=30); 
 
\t opacity: 0.3; 
 
} 
 

 
.Gcheckbox input[type=checkbox]:checked + label:after { 
 
\t -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; 
 
\t filter: alpha(opacity=100); 
 
\t opacity: 1; 
 
} 
 

 
input[type=checkbox] { 
 
\t visibility:hidden; 
 
}
<!DOCTYPE HTML> 
 
<html> 
 
    <head> 
 
\t <link rel="stylesheet" href="styleCIRCLE.css" type="text/css"> 
 
\t <title>custom checkbox testing</title> 
 
    </head> 
 
<body> 
 

 

 
<!--styleCIRCLE --> 
 
<div class="Gcheckbox"> 
 
\t \t <input type="checkbox" value="None" id="Gcheckbox" name="check" /> 
 
\t \t \t <label for="Gcheckbox"></label> 
 
\t \t </div> 
 
\t \t 
 

 

 
</body> 
 
</html>

답변

2

포함하는 부모가, .Gcheckbox 좌우 자동 마진 때문에 그것은 수평 중앙에, 요소.

해당 줄을 제거하거나 주석 처리하면 기본 왼쪽에서 오른쪽 레이아웃 동작에 따라 요소가 왼쪽에 정렬됩니다. 0 픽셀 자동;

/* ROUNDED ONE */ 
 
.Gcheckbox { 
 
    /*CHANGES GRAY SQUARE DIMENSIONS*/ 
 
    width: 16px; 
 
    height: 33px; 
 
    background: #ff0000; 
 

 
    /*GRAY SQUARE BACKGROUND FADER*/ 
 
    background: linear-gradient(top, #000000 100%, 0000ff 0%, #ff0000 0%); 
 
    background: -webkit-linear-gradient(top, 0000ff 100%, 0000ff 0%, #ff0000 0%); 
 
    background: -moz-linear-gradient(top, #000000 100%, 0000ff 0%, #ff0000 0%); 
 
    background: -o-linear-gradient(top, #000000 100%, 0000ff 0%, #ff0000 0%); 
 
    background: -ms-linear-gradient(top, #000000 100%, 0000ff 0%, #ff0000 0%); 
 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfff4', endColorstr='#b3bead',GradientType=0); 
 
    /*margin: 0px auto;*/ 
 

 
    position: relative; 
 
} 
 

 
.Gcheckbox label { 
 
    cursor: pointer; 
 
    position: absolute; 
 
    width: 10px; 
 
    height: 10px; 
 

 
    /*MAKES THE GREEN CIRCLE A CIRCLE*/ 
 
    -webkit-border-radius: 10px; 
 
    -moz-border-radius: 10px; 
 
    border-radius: 10px; 
 
    /********************************/ 
 

 
    left: 3px; 
 
    top: 11.25px; 
 

 
    box-shadow: inset 0px 0px 0px rgba(239,239,238,1), 0px 0px 0px rgba(239,239,238,1); 
 
    -webkit-box-shadow: inset 0px 0px 0px rgba(239,239,238,1), 0px 0px 0px rgba(239,239,238,1); 
 
    -moz-box-shadow: inset 0px 0px 0px rgba(239,239,238,1), 0px 0px 0px rgba(239,239,238,1); 
 

 
    /*BEHIND GREEN CIRCLE BACKGROUND*/ 
 
    background: -webkit-linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
    background: -moz-linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
    background: -o-linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
    background: -ms-linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
    background: linear-gradient(top, #0000ff 0%, #0000ff 100%); 
 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0000ff', endColorstr='#0000ff',GradientType=1); 
 
} 
 

 
.Gcheckbox label:after { 
 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; 
 
    filter: alpha(opacity=0); 
 
    opacity: 0; 
 
    content: ''; 
 
    position: absolute; 
 
    width: 10px; 
 
    height: 10px; 
 
    background: #00bf00; 
 

 
    background: linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 
    background: -webkit-linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 
    background: -moz-linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 
    background: -o-linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 
    background: -ms-linear-gradient(top, #00ff00 0%, #00ff00 100%); 
 

 
    -webkit-border-radius: 5px; 
 
    -moz-border-radius: 5px; 
 
    border-radius: 5px; 
 
    bottom: 0px; 
 
    right: 0px; 
 

 
    -webkit-box-shadow: inset 0px 0px 0px #00ff00, 0px 0px 0px rgba(42,171,43); 
 
    -moz-box-shadow: inset 0px 0px 0px #00ff00, 0px 0px 0px rgba(42,171,43); 
 
    box-shadow: inset 0px 0px 0px #00ff00, 0px 0px 0px rgba(42,171,43); 
 
} 
 

 
/*CHANGE HOVER EFFECT OPACITY*/ 
 
.Gcheckbox label:hover::after { 
 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; 
 
    filter: alpha(opacity=30); 
 
    opacity: 0.3; 
 
} 
 

 
.Gcheckbox input[type=checkbox]:checked + label:after { 
 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; 
 
    filter: alpha(opacity=100); 
 
    opacity: 1; 
 
} 
 

 
input[type=checkbox] { 
 
    visibility:hidden; 
 
}
<div class="Gcheckbox"> 
 
    <input type="checkbox" value="None" id="Gcheckbox" name="check" /> 
 
    <label for="Gcheckbox"></label> 
 
</div>

0

그것은 여백의 귀하의 .Gcheckbbox div.

그것을 제거하면 모두 멋지고 멋져 보입니다.

+0

오 세상에 나는 너무 바보 같고 사랑합니다. 고맙습니다. – bonzo

+0

걱정할 필요가 없습니다. 너무 많은 코드 조각을 볼 때 조금 잃어 버릴 수 있습니다. –

관련 문제