前端——CSS属性相关

前端——CSS属性相关

宽和高

width:属性可以为标签设置宽度

height:属性可以为标签设置高度

注意:块级标签才能设置宽度,行内标签的宽度由内容决定

<style>
    div {
         200px;	/*设置宽度*/
        height: 400ps;	/*设置高度*/
    }
</style>

字体属性

文字类型

font-family可以选择文字的类型(比如:微软雅黑、宋体、楷体……)

p {
    font-family: 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
}

字体大小

font-size:控制字体大小

p {
    font-size: 16px;
}

字重(粗细)

font-weight:用来设置字体的字重(粗细)

有这几个属性值

normal:默认值,标准粗细

bold:粗体

bolder:更粗

lighter:更细

100-900:设置具体粗细,400等同于normal,而700等同于bold

inherit:继承父类元素字体的粗细值

p {	
    font-weight: bold;
}

字体颜色

设置字体颜色有三种方式

p {
    /*第一种:颜色名称*/
    color: red;
    /*第二种:# + 十六进制*/
    color: #FF0000;
    /*第三种:RGB值*/
    color: RGB(255,0,0);
    /*还有rgba*/
    /*第四个值0.3为alpha,制定了色彩的透明度/不透明度,范围在0.0-1.0之间*/
    color: rgba(255,0,0,0.3);
}

文字属性

对齐方式

text-align:属性规定标签内的文本的水平对齐方式

  • left:左边对齐(默认值)
  • right:右边对齐
  • center:居中对齐
  • justify:两端对齐
p {
    text-align: center;
}

文字装饰

text-decoration:用来给字体添加特殊效果

  • none:默认,自定义标准的文本

    • 这里我们会发现a标签默认会有默认的下划线 就感觉很丑,很low,这里我们把他的下换线去掉

      a {
          text-decoration: none;
      }
      
  • underline:文本下加一条线

  • overline:文本上加一条线

  • line-through:为文本加一条从中间穿过的线

  • inherit:继承父标签的text-decoration属性值

p {
    text-decoration: underline;
}

首行缩进

text-indent:将段落的第一行缩进XX像素

p {
    text-indent: 32px;
}

背景属性

可以使用纯色和图片当做背景

background-color:用来设置背景颜色

background-image: url("图片地址"):用来设置背景图片

background-repeat:用来设置背景图片是否平铺,默认repeat:平铺,no-repeat:不平铺、repeat-x:水平方向平铺、repeat-y:垂直方向平铺

background-position:设置背景图片的位置 有left、right、top、bottom也可以使用像素值

上面的这些属性都可以汇总简写到:background

.c1 {
    height: 400px;
     500px;

    /*背景颜色*/
    background-color: aquamarine;

    /*背景图片*/
    background-image: url("a.jpg");
    background-repeat: no-repeat;   /*不平铺*/
    /*background-repeat: repeat-x;    !*水平平铺*!*/
    /*background-repeat: repeat-y;    !*垂直平铺*!*/

    /*背景图片位置:第一个值调节上下,第二个值调节左右*/
    background-position: 100px 20px;

    /*可简写*/
    /*background: aquamarine url("a.jpg") no-repeat center center;*/
}

背景图片小案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>背景图片应用案例</title>
    <style>
        #d2 {
            background-image: url("b.png");
            background-attachment: fixed;
        }
    </style>
</head>
<body>
<div style="height: 400px;background-color: red"></div>
<div style="height: 400px;background-color: yellow"></div>
<div style="height: 400px" id="d2"></div>
<div style="height: 400px;background-color: blue"></div>
</body>
</html>

边框(border)

边框属性

边框有四边分别是left,top,right,bottom

  • border-style:边框样式
    • none:无边框
    • solid:实线边框
    • dashed:矩形虚线边框
    • dotted:点状虚线边框
  • border-color:边框颜色
  • border-width:边框粗细
 div {
     /*边框样式*/
     border-style: solid;

     /*边框颜色*/
     border-color: red;

     /*边框粗细*/
     border- 5px;

     /*边框每一边都可以设置独有的样式、颜色、粗细*/
     border-top-style: dashed;

     /*边框属性也支持简写 都放入border中就可以*/
     border: solid 5px blue;

}

画圆

通过border-radius可以实现圆角边框

div {
    height: 100px;
     100px;
    border-radius: 50%;
}

display属性

display用于控制HTML标签的显示效果

  • display:"none":标签存在,但在浏览器中不显示
  • display:"block":默认占满页面整个宽度,如果设置了指定的宽度,剩下的用margin填充
  • display:"inline":按照行内标签格式显示
  • display:"inline-block":让标签具有行内标签和块级标签的特点

display:"none"与visibility:"hidden"的区别

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

display:none: 可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

CSS盒子模型

盒子模型中包含了border(边框)、margin(外边距)、padding(内边距/内填充)以及标签(也称之为元素)

margin:外边距,设置标签与标签之间的距离

border:边框,标签的边框

padding:内边距,标签内部文本与边框之间的距离

margin-外边距属性

.d1 {
     200px;
    height: 200px;
    /*顶部(上方)外边距*/
    margin-top: 10px;
    /*左侧外边距*/
    margin-left: 20px;
    /*底部(下方)外边距*/
    margin-bottom: 30px;
    /*右侧外边距*/
    margin-right: 40px;
}
.d2 {
    /*简写方式*/
    margin: 10px 20px 30px 40px;
}

#d2 {
    /*1个属性值,表示所有的外边距*/
    margin: 10px;
    /*2个属性值:第一个值是上下外边距,第二个值是左右外边距*/
    /*margin: 20px 40px;*/
    /*3个属性值:第一个值是顶部(上方)外边距,第二值是左右外边距,第三个值是底部(下方)外边距*/
    /*margin: 20px 30px 40px;*/
    /*4个属性值 上 右 下 左 顺时针*/
    /*margin: 20px 30px 40px 50px;*/
}

PS:一般浏览器都会自动给body标签增加8px的外边距,如果需要,需要我们自己取消

网页内的便签都水平居中,则通过设置margin处理

margin: 0 auto; /*水平居中*/

padding内填充

.d1 {
     200px;
    height: 200px;
    /*顶部(上方)内填充*/
    padding-top: 10px;
    /*左侧内填充*/
    padding-left: 20px;
    /*底部(下方)内填充*/
    padding-bottom: 30px;
    /*右侧内填充*/
    padding-right: 40px;
}
.d2 {
    /*简写方式*/
    padding: 10px 20px 30px 40px;
}

#d2 {
    /*1个属性值,表示所有的内填充*/
    padding: 10px;
    /*2个属性值:第一个值是上下内填充,第二个值是左右内填充*/
    /*padding: 20px 40px;*/
    /*3个属性值:第一个值是顶部(上方)内填充,第二值是左右内填充,第三个值是底部(下方)内填充*/
    /*padding: 20px 30px 40px;*/
    /*4个属性值 上 右 下 左 顺时针*/
    /*padding: 20px 30px 40px 50px;*/
}

浮动(float)

在css中,任何元素都可以浮动

浮动元素会产生一个块级框,二不论它本事是何种元素

关于浮动的两个特点

  • 浮动的框可以向左或向右移动,直到它的边缘碰到包含框或另一个浮动框的边框为止
  • 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得像浮动框不存在一样

三种取值

left:向左浮动

right:向右浮动

none:默认值,不浮动

<style>
    body {
        margin: 0;
    }
    .c1 {
        height: 100px;
         100px;
        background-color: red;
        float: left;
    }
    .c2 {
        height: 100px;
         100px;
        background-color: green;
        float: right;
    }
</style>

详情: https://www.w3school.com.cn/css/css_positioning_floating.asp

清除浮动

clear属性规定元素的哪一侧不允许其他浮动元素

描述
left 在左侧不允许浮动元素
right 在右侧不允许浮动元素
both 在左右两侧不允许浮动元素
none 默认值,允许浮动元素出现在两侧
inherit 规定应该从父元素继承 clear 属性的值。

PS:clear属性只会对自身起作用,而不会影响其他元素。

清除浮动的副作用(父标签塌陷问题

主要有三种方式:

  • 固定高度
  • 伪元素清除法
  • overflow:hidden

伪元素清除法(使用较多)

.clearfix:after {
            content: " ";
            display: block;
            clear: both;
}

overflow溢出属性

描述
visible 默认值。内容不会被修剪,会呈现在元素框之外。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit 规定应该从父元素继承 overflow 属性的值。
  • overflow(水平和垂直均设置)
  • overflow x (设置水平方向)
  • overflow y(设置垂直方向)

圆形头像实例

body {
            margin: 0;
            background-color: antiquewhite;
        }
        .c1 {
            height: 100px;
             100px;
            border-radius: 50%;
            border: 5px solid white;
            /*background-image: url("111.png");*/
            /*background-repeat: no-repeat;*/
            overflow: hidden;
        }
        img {
            max- 100%;
        }
原文地址:https://www.cnblogs.com/aheng/p/12259849.html