CSS样式的一些小总结

这是本人学习 css 两天的一些小总结和体会,若是有什么不足或错误的地方还请指教,纠错和探讨。css

css 样式最使人头疼的地方就是一个属性有时候在这地方用能够,到另外一个地方用却没效果了,或是冲突了。搞得头昏昏的,这时候得看文档才能明了,或作些小总结就内心有底了,下次不一样的场景就知道用不一样的 属性来实现效果,纠错也更明确思路了。html

第一部分 :line-height: 和 padding:学习

line-height: 和 padding:

1.line-height:字体

line-height: 说明:检索或设置对象的行高。即字体最底端与字体内部顶端之间的距离。spa

这句话看来半天越看越奇怪,实际开发中也常常碰到 行高不精确的问题code

最常常见的是给字体居中显示,如我给<a 标签设置垂直居中,htm

外边框为 200px ,因此 line-height: 200px 效果就实现了。
因此我对上面 line-height 做用于行内元素的理解是这样的。注意是 行内元素
clipboard.png对象

再给一个 快级元素的,如 <p 标签
如今下面一张图。图片

clipboard.png

外边框为 200px ,因此 line-height: 200px 效果就 MD 尴尬了。ip

clipboard.png

因此我对上面 line-height 做用于块级元素的理解是上图所标记的,因此要对 块级元素居中,实际行高要减去 2倍 字体大小,及 line-height:160px

clipboard.png

其余行内元素和块级元素遇到行高问题能够依照上面这种思路分析分析。

2.padding:

padding: 说明:检索或设置对象四边的内部边距。

padding也跟上面 line-height 同样受行内元素和块级元素的影响

clipboard.png

注意要点:行内元素能够使用该属性设置左、右两边的内补丁;若要设置上、下两边的内补丁,必须先使该对象表现为块级或内联块级。

clipboard.png

clipboard.png

第二部分: margin:0 auto; 和 text-align:center;

margin:0 auto; 和  text-align:center;

1.margin:0 auto;

margin:0 auto:说明:上下间距为0,左右自适应,及居中

这里只讨论居中的状况,不讨论 margin-left,marging-top等一些状况

行内元素能够使用该属性设置左、右两边的外补丁;若要设置上、下两边的外补丁,必须先使该对象表现为块级或内联块级。

对于 行内元素设置居中:

clipboard.png

但对于图片不用设置大小,

.text_div img{
          display: block;
          margin:0 auto;
      }

就能居中
clipboard.png

对于块级元素
clipboard.png

2. text-align:center;

text-align:center:说明:设置或检索对象中内容的水平对齐方式。

对于 行内元素使用 text-align,与 margin:0 auto 不一样的是,不一样设置元素的大小

.text_div a{
          display: block;
          text-align: center;
      }

clipboard.png

对于 快级元素
clipboard.png

那么 <img 标签呢,发现 text-align: center ;只对能做用于文字的标签有用,好比<a 标签, <p 标签等,<img标签须要外面嵌套个< a 标签才行,实际中也常常这么作。

clipboard.png

最后来个效果图:

clipboard.png
代码:
html:

<div class="text_div"  >
               <img src="img/img.jpg"/>
               <p> 嗨 你好 !</p>
               <a href=""> 点个赞</a>
           </div>

css:

.text_div{
          margin-top: 100px;
          margin-left: 50px;
          width:400px;
          height:400px;
          border: 1px solid  #7e1a05;

      }
      .text_div img{
          display: block;
          margin:0 auto;
      }
      .text_div p{
          text-align: center;
      }
      .text_div a{
          width: 70px;
          height: 22px;
          background:  #7e1a05;
          color: #FFF;
          border-radius: 2px;
          display: block;
          text-align: center;
          margin:0 auto;
          text-decoration:none;
          line-height: 22px;
      }

未完 , 待续 .....

相关文章
相关标签/搜索