CSS-基础(三)

目录

边框设置

边框样式

 内边距

外边距

重置CSS(RESET CSS)

浮动

定位

定位模式


边框设置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>边框</title>
    <style>
        div.di1{
            width: 100px;
            height: 100px;
            border-color: deepskyblue;  /*边框的颜色*/
            border-style: solid;  /*边框的样式*/
            border-width: 2px;  /*边框的宽度*/
        }
        div.di2{
            width: 100px;
            height: 100px;
            /*边框的复合模式:border: 边框宽度 边框样式 边框颜色*/
            border: 2px solid darkgreen;
        }
        div.di3{
            width: 100px;
            height: 100px;
            /*对上下左右的边框分别进行设置*/
            border-top: 1px solid red;
            border-right: 2px dashed green;
            border-bottom: 3px double yellow;
            border-left: 4px dotted chocolate;
        }
    </style>
</head>
<body>
    <div class="di1"></div>
    <div class="di2"></div>
    <div class="di3"></div>
</body>
</html>

边框样式

border-style值

描述

none

无边框

hidden

同none,应用表时,hidden用于解决边框冲突

dotted

点状边框

dashed

虚线边框

solid

实线边框

double

双线边框

 内边距

内边距用来控制内容和所在div之间的距离,内边距设置产生的问题:内边距在设置后会增加div的整体宽度和高度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>内边距</title>
    <style>
        div.di1{
            width: 120px;
            height: 200px;
            color: deepskyblue;
            border: 1px solid sandybrown;
            padding: 30px;
        }
    </style>
</head>
<body>
    <div class="di1">自小刺头深草里,而今渐觉出蓬蒿。时人不识凌云木,直待凌云始道高。</div>
</body>
</html>

上边距:padding-top

下边距:padding-bottom

左边距:padding-left

右边距:padding-right

复合写法:padding  (一个值表示上下左右设置一样的值;两个值表示上下、左右的值;三个值表示上、左右、下的值;四个值表示上、右、下、左)

外边距

外边距用来控制不同的div之间的距离

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>外边距</title>
    <style>
        div.di1{
            width: 100px;
            height: 100px;
            border: 2px solid royalblue;
            background-color: yellow;
            margin: auto;
            overflow: hidden;
        }
    </style>
</head>
<body>
    <div class="di1"></div>
</body>
</html>

上外边距:margin-top

下外边距:margin-bottom

左外边距:margin-left

右外边距:margin-right

复合写法:margin  这个值的设置同内边距中的padding

外边距自动居中:左右外边距的值都设置为auto,自动只对左右外边距生效,所以可以直接设置margin:auto,当只设置左外边距的值为auto时,div移动到页面最右边,只设置右外边距,div移动到页面最左边

设置外边距产生的问题

相邻兄弟div边距合并:设置两个div之间的距离时,垂直外边距结果取两个div中最大的外边距值,较小的值会被合并。所以在设置的时候,只需要设置一个div的外边距值即可。

父子div高度塌陷:解决办法是给父级div设置overflow: hidden

重置CSS(RESET CSS)

重置CSS:浏览器在解析某些标签时,本身自带了一些样式,导致我们写样式的时候就会效果不一致.

重置的方法:使用通配符*重新定义样式,可以将重置样式存放到一个CSS文件中,在使用的时候直接引入,方便所有的文件使用。

参见:https://meyerweb.com/eric/tools/css/reset/

浮动

让块级元素具有行内块元素(同时具有块级元素和行内元素的特点)的方法:给块级元素添加dispaly:inline-block属性,但是每个元素之间后存在外边距。所以需要使用浮动。

浮动:让元素脱离正常的文档流移动到指定位置,设置浮动后类似于设置了inline-block(设置浮动后元素之间没有边距)。

添加浮动的方法:float属性,属性值为left和right两种。

清除浮动:为了解决父元素因为子元素浮动后高度为0的情况(元素浮动后不占有位置),清除浮动可以让父元素根据子元素的自动检测高度。

在这三种情况下适合使用清除浮动:1、父级没有了高度,2、子div浮动了,3、布局受到影响。

清除浮动的方法:

  1. 在最后一个元素后面添加一个div并指定clear属性,clear属性:属性值有三种,left清除左浮动,right清除右浮动,both清除所有浮动。
  2. 浮动使父元素高度塌陷,所以高度为0,同父子div高度塌陷的解决方法,给父元素添加属性:overflow: hidden,没有使用position时使用,不能和position配合使用,因为超出的尺寸的会被隐藏。
  3. 使用伪元素:定义公共类,以减少CSS代码。

定位

设置定位需要设置定位模式和边偏移量两个属性

边偏移量:上下左右属性,top属性 、bottom属性 、 left 属性、 right属性,属性值为偏移的像素值。

定位模式

定位模式(position属性值)

效果

static静态定位

默认值,不会发生任何变化

relative相对定位

以自身元素为参考,元素在偏移原来的位置后,空出来到的位置仍被占据,不会脱离文档流

absolute绝对定位

父元素没有没有绝对定位时,绝对定位的子元素会以网页为基准偏移;如果父元素有定位,绝对定位的子元素会以父元素为基准偏移;绝对定位的元素会脱离文档流,不再占有位置

fixed固定定位

子元素设置固定定位后会脱离文档流,以浏览器的可视区为基准进行偏移,位置不会随着窗口的滚动而改变

设置相对定位与绝对定位的原则:父元素为相对定位,子元素为绝对定位。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值