css 基础+实战布局

2017-12-10  本文已影响0人  赵碧菡

一、margin

margin与可视尺寸

利用这一特性实现一侧定宽自适应布局

图片.png
margin与占据尺寸
百分比margin

垂直和水平方向的百分比都是相对于父元素的宽度计算的

margin重叠

margin重叠的情境

margin中auto

auto 适用设置固定宽度的块元素

margin负值下的两端对齐
margin失效情形

二、overflow

注意:

使用条件
浏览器兼容问题

浏览器IE7,文字越多,元素两侧padding留白就越大

解决办法:给元素添加样式 overflow:visible

overflow与滚动条

默认滚动条来自 <html>,而不是<body>标签。

去除页面默认滚动条,只需

html{overflow:hidden}

JS获取滚动条高度

兼容写法

var top=`document.body.scrollTop || document.documentElement.scrollTop

滚动条会占用容器的可用宽度和高度


图片.png 图片.png

1、水平居中跳动问题修复(当出现滚动条时,页面右侧会有空白)

解决办法:

2、overflow与两栏自适应布局(左侧浮动,右侧自适应)


图片.png

解决办法 给右侧 div 加css样式overflow:hidden

图片.png
overflow与absolute

三、float

   <div class="warp-right">
        <div class="content-left"> .....  </div>
        <img src="./135.jpg" alt="" srcset="">
   </div>
.content-left{
   float: left;
   margin-right: 80px;
}
 .warp-right  img{
     float: left;
     width: 50px;
     margin-left: -50px;
}
   <div class="warp-right">
        <img src="./135.jpg" alt="" srcset="">
        <div class="content-right"> .....  </div> 
   </div>
 .warp-right  img{
     float: left;
     width: 50px;
}
.content-right{
   overflow: hidden;
}

四、absolute

小图标,absolute的应用
图片.png

这样布局的好处

absolute + margin实现下拉框
图片.png

这种实现方式自适应比较强,当浏览器大小改变时,位置不容易发生改变。

文本图标对齐
图片.png
absolute 与整体布局

使div占满整个屏幕,使用拉伸

<body>
    <div class="page"></div>
</body>
 body{
        width: 100%;
        height: 100%;
    }
.page{
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
    }

头、侧边栏、内容区、底部 , 布局


图片.png

绝对定位整个页面布局


图片.png
absolute 元素垂直 水平 居中

注意: 设置absloute 可以使 inline元素具有block元素的特性

五、line-height

body全局数值行高使用经验,匹配20像素

body{font-size:14px;line-height:1.4286}    // 20/14
line-height 的实际应用
图片.png

六、vertical-align

vertical-align 的百分比值是相对于 line-height计算的

vertical-align 起作用的前提

默认情况下(不对元素display设置)支持vertical-align的有:
图片、文字、按钮、单元格

实战布局
p{display:table-cell; vertical-align:middle}
<div>
   <span>文字</span>
  <img src=" "/>
</div>
span{display:inline-block;width:200px;vertical-align:middle}
img{vertical-align:middle}
图片.png

七、relative

relative 与 absolute

当 外部被relative元素包裹时,层级关系就由relative元素设置的 z-index 来控制


图片.png
relative 与 fixed
relative 定位

相对自身原来位置定位,还占有原来的位置。

八、z-index

不考虑css3的情况下,只有定位的元素才起作用(position:relative/absolute/fixed/sticky)不包括static

z-index 与定位元素
z-index 相关实践
图片.png

九、padding

padding 百分比

是相对于元素的宽,利用这一特性可以实现正方形

标签元素padding

十、border

dashed 虚线
dotted 点线
double 双线

border实现三角
图片.png
.triangle{
      border-width:12px 20px;
      border-style: solid;
      border-color:gold gold transparent transparent;
}

drop-shadow 给 png 图标赋色


图片.png
icon{filter:drop-shadow(20px 0 #ff8040)}

十一、背景图像

背景图像区域
背景图像定位
背景图像大小

十二、css 渐变

渐变可以在两个或多个指定颜色之间显示平稳的过渡

线性渐变

是沿着一根轴线改变颜色,从起点到终点颜色进行顺序渐变
background:linear-gradient(direction,color-stop1,color-stop2,.......)

图片.png 图片.png 图片.png
在颜色后面加 百分比
 background: linear-gradient(to right,#44A504 10%,#A0F387 40%,#DFA209 60%,#DFC999) 100%;

从 10% 到 40% 是从 #44A504#A0F387 的渐变
从 40% 到 60% 是从 #A0F387#DFA209 的渐变
从 60% 到 100% 是从 #DFA209#DFC999 的渐变

最后一个不写 默认是 100%,第一个不写默认是0

图片.png

十三、css 盒阴影 box-shadow属性

box-shadow属性可以设置一个或多个下拉阴影的框
box-shadow:h-shadow v-shadow blur spread color inset

参数说明:

只设置了偏移量,没有设置模糊度


图片.png

十三、边界图片 border-image

border-image-source属性

指定要是用的图像,而不是由border-style属性设置的边框样式。

border-image-slice属性

指定图像的边界向内偏移
border-image-slice:number | % | fill

border-image-width属性

十四、选择器

子元素选择器

只能选择某元素的子元素 (直接后代选择器)

语法格式: 父元素 > 子元素

图片.png
图片.png
相邻兄弟元素选择器

相邻兄弟元素选择器 可以选择紧接在另一元素后的兄弟元素,他们具有一个相同的父元素

语法格式 :元素 + 兄弟相邻元素

图片.png
例子:选择除了 第一个 li 以外的 li ul li + li{}
通用兄弟选择器

选择某元素后面的所有兄弟元素,他们具有一个相同的父元素

语法格式:元素 ~ 后面兄弟元素

图片.png
属性选择器
图片.png 图片.png
伪类选择器
结构伪类
css 权重
伪元素

语法格式 :元素::伪元素

上一篇下一篇

猜你喜欢

热点阅读