2014-07-07 3 views
0

인라인 블록을 사용하여 5 개의 열 그리드에서이 모든 링크를 완벽하게 정렬하려고합니다. 그러나 최상단 행과 그 아래 행 사이에는 1px 정도의 아주 작은 정렬이있는 것 같습니다. 왜 이런 일이 일어나고 있는지 누군가가 나를 깨우칠 수 있는지 궁금합니다. 다음은 코드가있는 jsFiddle입니다.인라인 블록 요소가 가로로 정렬되지 않는 이유는 무엇입니까?

HTML :

<div class="app-control-btns-wrp"> 
    <a href='javascript:;' class="app-control-btns">Link1</a> 
    <a href='javascript:;' class="app-control-btns">Link2</a> 
    <a href='javascript:;' class="app-control-btns">Link3</a> 
    <a href='javascript:;' class="app-control-btns">Link4</a> 
</div> 

<div class='char-input-btns-wrp'> 

    <div class='rows' > 
     <a href='javascript:;' class="char-input-btns">A</a> 
     <a href='javascript:;' class="char-input-btns">B</a> 
     <a href='javascript:;' class="char-input-btns">C</a> 
     <a href='javascript:;' class="char-input-btns">D</a> 
     <a href='javascript:;' class="char-input-btns">E</a> 
    </div> 

</div> 

CSS (재설정 파일이 포함 된) :

/* 
    HTML5 Reset :: style.css 
    ---------------------------------------------------------- 
    We have learned much from/been inspired by/taken code where offered from: 

    Eric Meyer     :: http://meyerweb.com 
    HTML5 Doctor    :: http://html5doctor.com 
    and the HTML5 Boilerplate :: http://html5boilerplate.com 

-------------------------------------------------------------------------------*/ 

/* Let's default this puppy out 
-------------------------------------------------------------------------------*/ 

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary { 
    margin: 0; 
    padding: 0; 
    border: 0; 
    font-size: 100%; 
    vertical-align: baseline; 
    background: transparent; 
}         

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */ 

article, aside, figure, footer, header, nav, section, details, summary {display: block;} 

/* Responsive images and other embedded objects 
    Note: keeping IMG here will cause problems if you're using foreground images as sprites. 
    If this default setting for images is causing issues, you might want to replace it with a .responsive class instead. */ 
img, 
object, 
embed {max-width: 100%;} 

/* force a vertical scrollbar to prevent a jumpy page */ 
html {overflow-y: scroll;} 

/* we use a lot of ULs that aren't bulleted. 
    don't forget to restore the bullets within content. */ 
ul {list-style: none;} 

blockquote, q {quotes: none;} 

blockquote:before, 
blockquote:after, 
q:before, 
q:after {content: ''; content: none;} 

a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent;} 

del {text-decoration: line-through;} 

abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;} 

/* tables still need cellspacing="0" in the markup */ 
table {border-collapse: collapse; border-spacing: 0;} 
th {font-weight: bold; vertical-align: bottom;} 
td {font-weight: normal; vertical-align: top;} 

hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;} 

input, select {vertical-align: middle;} 

pre { 
    white-space: pre; /* CSS2 */ 
    white-space: pre-wrap; /* CSS 2.1 */ 
    white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */ 
    word-wrap: break-word; /* IE */ 
} 

input[type="radio"] {vertical-align: text-bottom;} 
input[type="checkbox"] {vertical-align: bottom;} 
.ie7 input[type="checkbox"] {vertical-align: baseline;} 
.ie6 input {vertical-align: text-bottom;} 

select, input, textarea {font: 99% sans-serif;} 

table {font-size: inherit; font: 100%;} 

small {font-size: 85%;} 

strong {font-weight: bold;} 

td, td img {vertical-align: top;} 

/* Make sure sup and sub don't screw with your line-heights 
    gist.github.com/413930 */ 
sub, sup {font-size: 75%; line-height: 0; position: relative;} 
sup {top: -0.5em;} 
sub {bottom: -0.25em;} 

/* standardize any monospaced elements */ 
pre, code, kbd, samp {font-family: monospace, sans-serif;} 

/* hand cursor on clickable elements */ 
.clickable, 
label, 
input[type=button], 
input[type=submit], 
input[type=file], 
button {cursor: pointer;} 

/* Webkit browsers add a 2px margin outside the chrome of form elements */ 
button, input, select, textarea {margin: 0;} 

/* make buttons play nice in IE */ 
button, 
input[type=button] {width: auto; overflow: visible;} 

/* scale images in IE7 more attractively */ 
.ie7 img {-ms-interpolation-mode: bicubic;} 

/* prevent BG image flicker upon hover 
    (commented out as usage is rare, and the filter syntax messes with some pre-processors) 
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));} 
*/ 

/* let's clear some floats */ 
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; } 
.clearfix:after { clear: both; } 
.clearfix { zoom: 1; } 


*, *:before, *:after { 
    -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; 
} 

.app-wrp{ 
    border:1px solid grey; 
    width:50%; 
    border:1px solid grey; 
    margin:1em auto; 
} 

.app-header{ 
    width:100%; 
    padding:1em; 
    border-bottom:1px solid grey; 
    background: #ccc; 
} 

.app-body{ 

} 

#word{ 
    text-align:center; 
    width:100%; 
    padding:3em 0; 
    border-bottom:1px solid grey; 
} 

#word > p{ 
    font-size:3em; 
    line-height:1.3em; 
} 



.char-input-btns-wrp, .app-control-btns-wrp{ 
    width:100%; 
} 

.app-control-btns-wrp{ 
    border-bottom:1px solid grey; 
} 

.char-input-btns, .app-control-btns{ 
    text-align:center; 
    display:inline-block; 
    text-decoration:none; 
    font-size:2em; 
    margin-right:-4px; 
} 

.app-control-btns{ 
    border-right:1px solid grey;  
    width:20%; 
} 

.app-control-btns:last-child{ 
    border-right:none;  
    width:40%; 
} 

.char-input-btns{ 
    width:20%; 

    border-left: 1px solid grey; 
    border-top: 1px solid grey; 
    color: #424242; 
    background:yellow; 
} 

.char-input-btns:active{ 
    background:#3399bb; 
    color:#fff; 
} 

.char-input-btns:last-child{ 
    border-right: 0; 
} 

.char-input-btns:first-child{ 
    border-left: 0; 
} 

.rows{ 
    width:100%; 
    background:pink; 
} 
+0

업데이트? – Vucko

답변

1

대신 border-left를 사용하려면 char-input-btns 클래스에 border-right를 사용하십시오. 당신은 단지 텍스트 데이터를해야합니다, 왜 다음`table`를 사용하지 다음 클래스

.char-input-btns{ 
width:20%; 
border-right: 1px solid grey; 
border-top: 1px solid grey; 
color: #424242; 
background:yellow; 
} 

Updated DEMO

1

귀하의 요소는 같은 경계 규칙이없는 것입니다. 상단 행은 border-right이고 하단 행은 border-topborder-left입니다. box-sizing:border-box도 있기 때문에 결과가 1만큼 오프셋됩니다.

일관된 결과를 위해 일관된 테두리를 사용하십시오.

+0

고맙습니다. 나는 그것이 바보 같았다는 것을 알았다. –

관련 문제