前端基础-真基础(中)

126 阅读4分钟

css属性

基本属性:wight,height,background

字体属性:

属性描述
font-size:20px;字体大小
color:red;字体颜色
font-family:字体名称设置字体
font-weight:100-900/nomal=400 /bold=700 /bolder=900字体加粗
nomer不加粗
bold加粗
bolder更粗
font-style:nomal/italic不倾斜/倾斜
text-align;left/center/right文字水平对齐方式
text-decoration:none;
text-decoration:underline;
text-decoration:overline;
text-decoration:line-through;
清除线条
下划线
上划线
删除线
letter-spacing:10px;字间距
line-height:100px;行高

盒子模型

一个标签就是一盒子,网页可以看成盒子和盒子从上到下,从左到右或者嵌套的方式进行排列

盒子模型有上下左右四个方向

盒子模型组成:

  • 内容
  • 内填充padding
  • 外边距margin
  • 边框border

元素宽度=内容宽度+左右内填充+左右边框 元素高度=内容高度+上下内填充+上下边框

内填充padding

内填充的值可以是像素,百分比;不可以是负数auto

属性描述
padding-left:10px;左内填充
padding-right:10px;右内填充
padding-top:10px;上内填充
padding-bottom:10px;下内填充
padding:10px;上下左右内填充
padding:10px 20px;上下10 左右20
padding:10px 20px 30px;上x10 左右20 下30
padding:10px 20px 30px 40px;上10 右20 下30 左40 (上右下左)

引发问题:

  • 会将元素撑大
  • 行内元素只作用于左右,不作用于上下

解决办法:

  • 元素宽度-左右内填充 元素高度-上下内填充
  • 给元素加 box-sizing:border-box;

外边距margin

margin的值可以px,%,- auto

属性描述
margin-left:10px;左外边距
margin-right:10px;右外边距
margin-top:10px;上外边距
margin-bottom:10px;下外边距
margin:10px;上下左右外边距
margin:10px 20px;上下10 左右20
margin:10px 20px 30px;上x10 左右20 下30
margin:10px 20px 30px 40px;上10 右20 下30 左40 (上右下左)
margin: auto ==margin: 0 auto ;左右居中

引发的问题:

  • 子元素的margin-top作用于父元素,解决办法:给父元素设置overflow:hidden;
  • 上下边距重叠,大的边距为准
  • 行内元素只作用于左右,不作用于上下

边框border

属性描述
border-left-width:20px;左边框宽度
border-left-color:red;左边框颜色
border-left-stely:solid;左边框类型-实线
...
border-left:20px solid red;
border-right:20px solid red;
border-top:20px solid red;
border-bottom:20px solid red;
border:20px solid red;上下左右

边框类型

  • solid 实线
  • dashed 虚线
  • dotted 圆点实线
  • double 双实线
  • ridge 凹槽边框
  • inset 内阴影
  • outset 外阴

引发问题:会将元素撑大

解决办法:

  • 元素宽度-左右边框 元素高度-上下边框
  • 给元素加 box-sizing:border-box;

浮动

为了让块元素排列在一行显示

float:

  • none 默认
  • left 左浮动
  • right 右浮动

浮动引发的问题:

  • 如果元素需要排列在一行显示,所有元素都应该设置浮动
  • 右浮动之后元素位置颠倒(调整布局)
  • 浮动元素脱离文档流。后面的内容会顶上去
  • 子元素浮动后,父元素的高度不会自动撑开
  • 如果块元素和行内元素需要排列在一行显示,那么行内元素也应该加浮动
  • 如果浮动元素高度不一致,一行放不下 会出现卡住的现象

清除浮动的方法“

  • 给父元素加 overflow:hidden;

  • 在浮动后面添加空元素设置clear:both

    <div style="clear:both">
        
    </div>
    
  • 采用css伪元素选择器

    父元素::after{
    content:"";
    display:block;
    clear:both;
    }
    

定位

当元素出现层叠样式 或者 让元素固定在页面某一个位置不变的时候,应该用定位

position:

  • static 默认值

  • relative 相对定位:

    ​ 参照物是元素本身

  • absolute 绝对定位:脱离文档流

    ​ 参照物是具有第一个定位属性的父元素,如果父元素都没有定位,那么参照物是浏览器窗口

  • fixed 固定定位:脱离文档流

    ​ 参照物 浏览器窗口

    ​ 表现:固定在页面某一位置不变

    定位层级

    通过z-index来调整

    默认0

    值范围:-1~无穷大

    如果z-index没有定位属性,则该属性不生效