CSS盒模型

CSS盒模型

元素尺寸

设置元素尺寸

div{

background: silver;

width:200px;

height:200px;

}

解释:设置元素的固定尺寸。

限制元素尺寸

div{

background: silver;

min-width:100px;

min-height:100px;

max-width:300px;

max-height:300px;

}

解释:这一组主要是应对可能动态产生元素尺寸变大变小的问题,从而限制它最大和最小的值。auto自适应

div{

width:auto;

height:auto;

}

解释:auto是默认值,width在auto下是100%的值;height在auto下是自适应。

百分比方式

#a{

background:silver;

width:200px;

height:200px;

}

#b{

background:gray;

width:80%;

height:80%;

}

<div id="a"><div id="b">我是html5</div></div>

解释:百分比就是相对于父元素长度来衡定的。(即b的weight和hight都是a的80%)

元素内边距

CSS盒模型中可以设置元素内部边缘填充空白的大小,我们成为内边距

设置四个内边距

div{

background: silver;

width: 200px;

padding-top:10px;

padding-bottom:10px;

padding-left:10px;

padding-right:10px;

}

<div>我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,我是HTML5,</div>

简写形式,分别为上10px、右10px、下10px、10px

div{

padding:10px 10px 10px 10px;

}

简写形式,分别为上10px,左右50px,下200px

div{

padding:10px 50px 200px;

}

简写形式,分别是上下10px,左右20px

div{

padding:10px 20px;

}

简写形式:上下左右均10px

div{

padding:10px;

}

元素外边距

CSS盒模型中可以设置元素外部边缘填充空白的大小,我们成为外边距

div{

background: silver;

width: 200px;

padding-top:10px;

padding-bottom:10px;

padding-left:10px;

padding-right:10px;

margin-top: 50px;

margin-left: 50px;

}

 

设置四个内边距

div{

margin-top:10px;

margin-bottom:10px;

margin-left:10px;

margin-right:10px;

}

 

简写形式,分别为上10px、右10px、下10px、左10px

div{

margin:10px 10px 10px 10px;

}

简写形式,分别为上10px,左右50px,下200px

div{

margin:10px 50px 200px;

}

简写形式,分别是上下10px,左边20px

div{

margin:10px  20px;

}

简写形式:上下左右均10px

div{

margin:10px;

}

处理溢出

当设置了元素固定尺寸且内容过大时,就会出现溢出的问题。溢出主要朝两个方向:右侧和底部。我们可以通过overflow系列样式来控制它

设置溢出为auto值

div{

overflow-x:auto;

}

解释:

overflow-x 设置水平方向的溢出

overflow-y设置垂直方向的溢出

overflow 简写属性

auto浏览器自行处理溢出内容。如果有溢出内容,就显示滚动条,否则就不显示滚动条。

hidden如果有溢出的内容,直接剪掉。

scroll不管是否溢出,都会出现滚动条。但不同平台和浏览器显示方式不同。

visible默认值,不管是否溢出,都显示内容

元素可见性

visible默认值,元素在页面上可见。

hidden元素不可见,但会占据空间。

collapse元素不可见,隐藏表格的行与列,如果不是表格,则和hidden一样

div {

    background: silver;

    width: 200px;

    height: 200px;

    visibility: visible;

}

<div>我是HTML5</div>

 

Sdfsdfsdf

设置元素隐藏,但占位

div {

    background: silver;

    width: 200px;

    height: 200px;

    visibility: hidden;

}

<div>我是HTML5</div>

 

Sdfsdfsdf

隐藏表格的行或列,但不占位,Chrome和Opera不支持

table tr:first-child{

visibility:collapse;

}

<table border="1">

    <tr>

       <td>1</td>

       <td>2</td>

       <td>3</td>

    </tr>

    <tr>

       <td>4</td>

       <td>5</td>

       <td>6</td>

    </tr>

</table>

元素盒类型

CSS盒模型中的display属性,可以更改元素本身盒类型。那么元素有哪些盒类型呢?主要有:

主要有:1.块级元素(区块);2行内元素(内联);3行内-块级元素(内联块);4.隐藏元素(不占空间)。

  1. 块级元素所谓块级元素,就是能够设置元素尺寸、隔离其他元素功能的元素。

比如:<div>、<p>等文档元素。(有换行功能,把其他元素隔离开,相邻文本或内容不会依附他的右边,而会在其下方)

2.行内元素,所谓行内元素,不能够设置元素尺寸,它只能自适应内容无法隔离其他元素,其它元素会紧跟其后。比如:<span>、<b>等文本元素。

3.行内-块元素,所谓行内-块元素,可以设置元素尺寸但无法隔离其他元素的元素。比如<img>。(相邻文本或内容可以依附其右边)

将行内元素转成块级元素

span{

background:silver;

width:200px;

height:200px;

display:block;

}

将块级元素转换成行内元素

div{

background:silver;

width:200px;

height:200px;

display:inline;

}

将块级元素转化成行内-块元素

div{

background:silver;

width:200px;

height:200px;

display:inline-block;

}

将块级元素和行内元素转化成行内-块元素

<div>我是块级元素,将要转成行内块元素</div><span>我是行内元素,将要转成行内块元素</span>

 

Sdfsd

div,span {

    background: silver;

    width: 200px;

    height: 200px;

    display: inline-block;

}

将元素隐藏且不占位

div{

display:none;

}

元素的浮动

CSS盒模型有一种叫浮动盒,就是通过float属性建立盒子的浮动方向

left浮动元素靠左

right浮动元素靠右

none禁用浮动

实现联排效果

效果对比

<div id="a">我是a</div>

<div id="b">我是b</div>

<div id="c">我是c</div>

#a{

background:gray;

}

#b{

background:maroon;

}

#c{

background:navy;

}

<div id="a">我是a</div>

<div id="b">我是b</div>

<div id="c">我是c</div>

 

#a{

background:gray;

float:left;

}

#b{

background:maroon;

float:left;

}

#c{

background:navy;

float:left;

}

实现元素右浮动

#c{

background:navy;

float:right;

}

取消元素的浮动

影响后面的元素不会浮动到本层,如果上层元素是float,本层元素还会浮动

#a {

    background: maroon;

    float: none;

}

#b {

    background: green;

    float: left;

}

#c{

background:navy;

float:left;

}

刚才的浮动有一个问题:当一个元素盒子被浮动后,下面的元素会自动堆叠处理,导致元素不可见或部分不可见。我们可以使用clear属性来处理。

两边均不可浮动

#a {

    background: maroon;

    float: left;

}

#b {

    background: green;

    clear: both;

}

#c{

background:navy;

float:left;

}

#d {

 

    background: orange;

    float: left;

}

解释:本层不受上层的影响

none允许两边均可浮动

left左边界不得浮动

right右边界不得浮动

both两边都不得浮动

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值