边盒子模型

 包括:边距,边框,填充,和实际内容

 

当您指定一个CSS元素的宽度和高度属性时,你只是设置内容区域的宽度和高度

注意 :IE5.X 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。

解决方案:不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。(同样产生距离)

总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

div{
            font-family:Verdana,KaiTi;
            font-style: italic;
            font-size:40px;
            font-weight: bold;
            width:400px;
            padding:10px;
            border:5px solid red;
            margin:10px;
            /*实际上占用空间大小 400+20+10+20=450宽度*/
            height:100px;
            background: red;
            text-align: right;
        }

 

 border属性:

groove

 

border-top-style:dotted;

border-style:dotted solid double dashed;

border-style:solid; border-width:5px;    (dotted: 定义一个点线边框 dashed: 定义一个虚线边框 solid: 定义实线边框 double: 定义两个边框。)

groove: 定义3D沟槽边框

ridge: 定义3D脊边框。

inset:定义一个3D的嵌入边框

outset: 定义一个3D突出边框

 

 

 

outline属性:

outline-style color width类似border

outline是不占用空间的

 

 

 

margin:

margin:25px 50px 75px 100px;

  • 上边距为25px
  • 右边距为50px
  • 下边距为75px
  • 左边距为100px
    • p.ex1 {margin-top:2cm;}

 分组和嵌套:

为了尽量减少代码,你可以使用分组选择器。

每个选择器用逗号分隔。

h1,h2,p
{
    color:green;
}

嵌套:

p.marked{
    text-decoration:underline;
}

 

 

设置高度:

% 占用其父级的高度的比例

 

行高:

p.big {line-height:200%}  基于当前字体尺寸的百分比行间距。

 

行高、行距与半行距

行高是指上下文本行的基线间的垂直距离,即图中两条红线间垂直距离。

行距是指一行底线到下一行顶线的垂直距离,即第一行粉线和第二行绿线间的垂直距离。

半行距是行距的一半,即区域3垂直距离/2,区域1,2,3,4的距离之和为行高,而区域1,2,4距离之和为字体size,所以半行距也可以这么算:(行高-字体size)/2

https://www.cnblogs.com/dolphinX/p/3236686.html

 

 

最大高度:

max-height:50px;  max-width等等

 

 

 

Display 和Visibility

 隐藏元素display:none或visibility:hidden

visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也

 

 

 Display - 块和内联元素

 

块元素是一个元素,占用了全部宽度,在前后都是换行符。

  • <h1>
  • <p>
  • <div>
    •  address , blockquote , center , dir , div , dl , fieldset , form , h1 , h2 , h3 , h4 , h5 , h6 , hr , isindex , menu , noframes , noscript , ol , p , pre , table , ul , li

内联元素只需要必要的宽度,不强制换行。

特点:

  • 宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变,就是里面文字或图片的大小;

内联元素的例子:

  • <span>
  • <a>
    • a , abbr , acronym , b , bdo , big , br , cite , code , dfn , em , font , i , img , input , kbd , label , q , s , samp , select , small , span , strike , strong , sub , sup ,textarea , tt , u , var

可以更改内联元素和块元素,反之亦然,可以使页面看起来是以一种特定的方式组合,并仍然遵循web标准。

下面的示例把列表项显示为内联元素:

li {display:inline;}

 

 

 

将span元素变块元素:

span {display:block;}

 

 

 

 

  • display:inline-block -- 显示为内联块元素,表现为同行显示并可修改宽高内外边距等属性

我们常将<ul>元素加上display:inline-block样式,原本垂直的列表就可以水平显示了。

 

posted on 2019-08-10 12:17  渐凸强、啊哈  阅读(196)  评论(0编辑  收藏  举报