如何处理默认填充和边距

时间:2014-03-13 09:55:57

标签: html html5 css3 responsive-design fluid-layout

我现在对html5 / css3非常满意,所以我试图让网站使用相同的内容并使其响应。

到目前为止,除了这两个问题外,事情进展顺利:

  1. 使用 em 我根本不理解计算,特别是为什么我必须把这个字体:.81em / 150%我跟着一个从在线教程中获取指南。

  2. 我在div上有一些虚构的填充,你可以在这里看到http://jsfiddle.net/NhZ2A/

  3. e.g。我身体上有:

     body{padding:0px; margin:0px;}
    

    然后我有一个像这样的图像的div:

     <div id="slider">
         <img src="images/slider.jpg"/>
     </div>
    

    然后在我的CSS中我有:

     #slider{
      width:100%;
      height:auto;
    }
    
     #slider img{
       width:60%;
       height:auto;
    }
    

    使用上面的css我仍然在下面的滑块div上填充,或者它可能是下图中的边距。

    我不明白为什么会杀了我。

6 个答案:

答案 0 :(得分:1)

使用css重置,为了获得一致的跨浏览器体验,应该包括它们中的任何一个。

Eric Meyer的重置CSS

HTML5 Doctor CSS重置

雅虎! (YUI 3)重置CSS

Normalize.css

从这里获取 - &gt; http://www.cssreset.com/

答案 1 :(得分:1)

关于第二个问题:

空格不是填充,因为<img>标记是内联元素,因此在whitespace标记上display:block;使用<img>以删除它

答案 2 :(得分:1)

是的,CSS重置对于为每个元素设置默认初始值非常重要。

reset.css 来源 - Reset5

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,audio,canvas,details,figcaption,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,summary,time,video
{
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
    margin:0;
    padding:0
}
    body
{
    line-height:1
}
    article,aside,dialog,figure,footer,header,hgroup,nav,section,blockquote
{
    display:block
}
    nav ul
{
    list-style:none
}
    ol
{
    list-style:decimal
}
    ul
{
    list-style:disc
}
    ul ul
{
    list-style:circle
}
    blockquote,q
{
    quotes:none
}
    blockquote:before,blockquote:after,q:before,q:after
{
    content:none
}
    ins
{
    text-decoration:underline
}
    del
{
    text-decoration:line-through
}
    mark
{
    background:none
}
    abbr[title],dfn[title]
{
    border-bottom:1px dotted #000;
    cursor:help
}
    table
{
    border-collapse:collapse;
    border-spacing:0
}
    hr
{
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #ccc;
    margin:1em 0;
    padding:0
}
    input[type=submit],input[type=button],button
{
    margin:0!important;
    padding:0!important
}
    input,select,a img
{
    vertical-align:middle
}

em - 单位测量值(1em等于当前字体大小,与2em = 2 * font-size相同)

字体语法:

font: font-style font-variant font-weight font-size/line-height font-family;

在您的问题值 .81em / 150%

.81em / 150% - font-size / line-height

答案 3 :(得分:0)

每个浏览器都有默认行为和配置

如果你想从所有这些开始一个干净的开始,你必须用&#34; reset.css&#34;样式表,以避免不良行为,并具有所有同质性。

检查此SO答案以获得正确的重置CSS样式表: https://stackoverflow.com/questions/167531/best-practice-for-css-reset-style-sheet

答案 4 :(得分:0)

第一个选择是

Css重置

Most Used Css Reset

答案 5 :(得分:0)

JUSR使用CSS RESET

* { 
  margin:0;
  padding:0;
  box-sizing:border-box;
 }