html、css

1、块级元素和行内元素的区别
2、块级、行内元素有哪些?
3、选择器优先级
4、水平垂直居中——通过选择器
5、行内元素如何设置宽高?
6、解决外边距合并——边距塌陷
7、iframe标签
8、CSS引入方式
9、布局:display、float、position、弹性(flex)
10、页面架构
11、三列布局:两边定宽,中间自适应
12、CSS盒模型
13、元素不可见
14、overflow:hidden
15、a标签伪类设置顺序
16、Less:在css基础上加入了程序式语言的特性

一、块级元素和行内元素的区别

1.独占一行                可与其他元素共享一行
2.可包含块级元素和行内元素   只能包含文本或其它行内元素
3.可直接设置宽高           不能直接设置宽高

二、块级、行内元素有哪些?

块级、行内元素有哪些?

三、选择器优先级

行内、id、class、标签、通配符*、继承

四、将块级或者行内元素水平垂直居中——通过选择器

1、块级水平 居中

margin:auto;

块级元素——内容/子在父中 水平垂直居中

1>内容在块级中对齐
  父元素display:flex;
       justify-content:center;   主轴方向对齐方式
	   align-items:center;       侧轴方向对齐方式
          
2>没内容时,子块级在父块级中对齐
  父元素display:flex;
  子元素margin:auto;

3\4>有内容时不影响居中对齐,可再用第一种方法把内容水平垂直居中
  父元素:position:relative;
	   	   
  子元素:position:absolute;
         left,top:50%;   //父元素的一半,此时子的左上角在父的中心
	     margin-left,margin-top:-(width/2)  //计算,-:再向左上偏移子元素宽高的一半	         

  子元素:position:absolute;
	     top,bottom,left,right:0px;	
		 margin:auto;	

2、行内(在块级中)水平垂直居中

给块级设置:text-align:center;     //水平
          line-height:height;    //垂直
          
例子:<style>
		div{
			width: 500px;
			height: 500px;
			border:1px solid red;
			margin:50px auto;
			text-align: center;
			line-height: 500px;
		}
		span{
			border:1px solid blue;
		}
  	</style>   
	 <div>
		<span>hello</span>
	</div>	

--------------分割线-------------------------------------------------------------
文字相对图片、输入框垂直居中

vertical-align:middle;
设置元素的垂直对齐方式,放在父元素的中部
line-height:

五、行内元素如何设置宽高?

1、display:block或inline-block
2、float:left,right
3、position:absolute,fixed

六、解决外边距合并——边距塌陷

1>父子关系——让子不在父左上角,阻止外边框和body边框合并,不希望父元素下去
  1.父元素加border(一个分隔)
  2.原本设置给子元素的margin->设置给父元素的padding
    会影响父元素盒子的高度(默认标准盒子)——改变父元素的高/设成怪异盒子
  //不在同一文档流里了
  
  3.给其中一个设display: inline-block;float;绝对定位
  6.给父元素添加overflow: hidden;
    当父元素中所有子元素都飘起来后,父元素里无子元素,高度默认是0
    不希望高度默认是0,设置后——父元素高度默认被浮动的子元素撑起
 
2>兄弟关系
  1.将本该设给两个元素的margin设给一个元素
  2.两个都设置:两个数都是整数或都是负数,取绝对值较大的一个
		      两个数一正一负,直接相加

七、iframe标签

定义:iframe元素会创建包含另一个文档的内联框架
提示:可以将提示文字放在<iframe></iframe>之间,来提示某些不支持iframe的浏览器
缺点:阻塞主页面的onload事件
     搜索引擎无法解读这种页面,不利于SEO
     和主页面共享连接池,而浏览器对相同区域有限制所以会影响性能

八、CSS引入方式

在这里插入图片描述

九、布局:display、float、position、弹性(flex)

脱离文档流:不占据空间
层级关系:z-index:-1 < 普通元素 < float < position < z-index:1,后写的高于先写的

布局规则:先行级布局,后列级布局,从上到下,从左到右

1、display:none——后两者不起效果!
           inline:块级元素->行内元素
		   block:行内元素->块级元素
	   	   inline-block:兼具行内和块级特性的元素(可在一行中显示,可设置宽高)		
2、浮动float:none       清除浮动:clear:both
		     left                      left      
		     right                     right
   停止浮动——遇到父元素边框/其他浮动元素
   浮动元素不遮挡文字和行内元素

   浮动后会生成块级框
   1)块级浮动后:可在一行中显示,宽度由内容撑起
   2)行内浮动后,可设置宽高
   
3、定位布局position
  absolute和fixed脱离文档流
  
  absolute:相对于最近的非static定位的父元素左上角定位
            如果父元素设置了static,会一直向上追溯到body左上角定位                          
  relative:相对自身原来位置          
  static静态定位(默认):上下左右、z-index属性无效
  fixed固定定位:相对于浏览器窗口定位,滚动时位置不变
  sticky粘滞定位:没到定位地点——相对定位
	            到定位地点——固定定位
	             	      
  z-index:number值,改变元素的叠加顺序,大覆盖小
 (设置给两个使用了absolute定位的元素)
 
  https://blog.csdn.net/weixin_40672882/article/details/81183321?

4、弹性(flex)布局:项目弹性布局,容器本身定位依然遵循常规文档流
   display:flex——显示为块级元素,子元素的float、vertical-align失效,但position依然生效
   
   容器:添加弹性布局的父元素
        作用于父容器:flex-direction:决定主轴方向
                                   row(默认)、row-reverse、column、column-reverse
                    flex-wrap:一条轴线排不下,换行  
                               nowrap(默认):每个项目会被挤压宽度
                               wrap:换行,第一行在容器最上方
                               wrap-reverse:换行,第一行在容器最下方
                    justify-content:项目在主轴上的对齐方式       
                                     flex-start(默认):项目位于主轴起点
                                     flex-end:项目位于主轴终点
                                     center:居中
                                     space-between:两边占满,中间间隔相等
                                     space-around:项目两侧间隔相等,中间间隔比左右大一倍
                    align-items:项目在交叉轴上的对齐方式   
   项目:容器内的每一个子元素
        作用于子项目:flex-basis:设置项目宽度,比width优先级更高
                                非auto:以flex-basis为准
                                auto:width
                                大:只有basis,basis大,元素宽度会随内容增加而变大
                                小:width大,内容大到width后 多余的会溢出
   https://blog.csdn.net/xiaojinguniang/article/details/82915037?
vertical-align:行内元素垂直对齐
                top
                bottom
                middle

十、页面架构

页面架构(我整理的不完全的)

十一、三列布局:两边定宽,中间自适应

1、float——需要计算
容器包裹左、右、中
中间没法有空位——整个一行都被中间栏占满了——absolute定位也是

.left{
	width:200px;
	height: 100px;
	background-color: #DC698A;

	float:left;
}
.middle{
    /*中间栏实际宽度100%,宽度不要设置*/
	height: 100px;
	background-color: #8CB08B;

	margin:0 200px;
}
.right{
	width: 200px;
	height: 100px;
	background-color: #3EACDD;

	float: right;
}

<div class="container">
    <div class="left">left</div>
    <div class="right">right</div>
    <div class="middle">middle</div>
</div>

圣杯布局——容器的左右内边距和左右列的相对定位

中间部分在文档流前面 优先渲染
中间内容的遮挡问题解决方法不一样
容器包起来,中、左、右——高度都设置

三列都左浮,容器、中宽度100%
容器:padding:0 200px
左:margin-left:-100% 
右:margin-left:-x 
——位置好了,但中间内容会被左右的盒子压住

——中间自适应
容器{padding:0 200px}——都到了中间,内容是在中间
给左右添加相对定位

圣杯布局和双飞翼布局

双飞翼布局(改良)——子主列的左右外边距

来源于淘宝
多了一个div,但不用相对定位了
经典双飞翼布局

div中包了一个中
左
右
给小中设置margin值

十二、CSS盒模型

控制元素与元素之间,或元素和内容之间的位置关系
组成:内容(content)、内边距(padding)、边框(border)、外边距(margin)
在标准模式下,一个块的总宽度=内容的width+padding(左右)+border(左右)+margin(左右)
在怪异模式下,一个块的总宽度=内容的width+margin(左右),(width包含了padding(左右)和border(左右)的值)

十三、元素不可见

占据空间:opacity:0        
        visibility:hidden  visible 子元素会继承
不占据空间:display:none 

十四、overflow:hidden

溢出隐藏:超出部分隐藏,不占位
清除浮动
解决外边距塌陷 

visible(默认):多余显示在元素框外
hidden:多余不显示

scroll:多少都有滚动条(少了不能滚动)
auto:字多——滚动条

十五、a标签伪类设置顺序

李伟喝啊

link:默认样式
visited:访问过
hover:悬停
active:按下

十六、Less:在css基础上加入了程序式语言的特性

less和sass的区别

动态样式语言,对css赋予了动态语言的特性,如变量、继承、运算、函数
            既可以在客户端,也可以在服务器端运行

一门 CSS 预处理语言,它扩充了CSS语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。
可以运行在 Node、浏览器和 Rhino 平台上
Less官网:http://lesscss.org/
Less中文网:(结合以下两个网站看)
http://lesscss.cn/(推荐看这个网站,但翻译不完整)
http://less.bootcss.com/(翻译比较完整,但版本过低)
less转css
cnpm install -g less
lessc main.less main.css 

2、html中使用less
   <link rel="stylesheet/less" type="text/css" href="./styles/index.less" />
   <script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/3.11.1/less.min.js"></script>
   或者
   <script src="https://cdn.bootcdn.net/ajax/libs/less.js/3.11.1/less.js"></script>
可以自定义变量,变量不能以数字开头,不能包含特殊字符,区分大小写
支持代码块{}的嵌套

缩进语法
scss语法(块语法)

SASS

扩展了 CSS3语法,增加了混入、选择器、变量等特性
本身语法不太容易让浏览器识别,因为不是标准的CSS格式——编译成css被浏览器识别
scss中的变量以$开头,用:赋值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值