HTML与CSS学习笔记

HTML

标签

作用标签说明
标题标签h1-h6标签自带margin值,一个页面中只使用一次h1标签,有利于搜索引擎优化
段落标签p标签自带margin属性值
水平线标签hr
换行标签br
加粗标签strong b
倾斜标签em i
删除线标签del s
上标标签sup
下标标签sub
空标签div span
头部标签header
导航标签nav
侧边栏标签aside
文章标签article
区块标签section
底部标签footer
无序标签ul>li
有序标签ol>li
自定义标签dl>dt dd

特殊标签

/*图片标签*/
<img src="图片路径" alt="图片不显示时替代文档" title='鼠标悬停在图片上时提示文字'>

/*超链接标签*/
<a href="跳转路径" target="打开方式"></a>
<!-- 
  target="_blank"  在新的窗口打开
  锚点:
       链接同页面:<a href="#two"></a> <h3 id="two"></h3>
       异页面:<a href="test.html#two"></a> <h3 id="two"></h3>
-->
/*base标签*/
<base href="路径" target="打开方式">
<!-- 
   base标签决定了整个页面的a标签的跳转路径和打开方式
   target="_blank" 整个页面的a标签都是在新窗口打开
   href="www.baidu.com" 整个页面的a标签跳转地址或者地址前缀都是此路径
-->

/*表格标签*/
<table border="边框" cellpadding='边框与内容之间的距离' cellspacing='边框与边框之间的距离'>
    <caption>表格顶上文字</caption>
    <thead>
        <tr>
            <!-- 行 -->
            <th>表格头部</th><!-- 列 默认加粗 居中 -->
        </tr>
    </thead>
    <tbody>
        <tr>
            <!-- 行 -->
            <td>表格内容</td><!-- 列 -->
        </tr>
    </tbody>
</table>
<!-- 
   水平对齐方式 align=center/left/right
       设置在表格上,表格水平对齐方式
       设置在tr和td上,里面的内容水平对齐方式
   colspan 合并列
   rowspan 合并行
   注意:table标签内只能显示上述的标签,不能出现其它的标签,但是上述标签内可以显示其他标签,否则其他的不生效
-->

/*表单标签*/
<form action="提交地址" method="get/post">
        <label for="">
            <input type="text" checked="默认选中" name="名称">
        </label>
    </form>
<!-- 
   type属性值:
       text      文本框
       password  密码框
       radio     单选
       checkbox  多选 name需要相同
       submit    提交
       reset     重置
       file      文件域
       email     邮件 必须包含@
       tel       电话
       search    搜索
       number    数字
       url       网址 必须包含http://
       time      时间
       date      日期
       week      周
   表单的input标签属性:
       autofocus 自动获取光标
       autocomplete:
           on 默认值,输入框记住输入的内容
           off  输入框不记住输入的内容
       required 必填项
       placeholder='占位符'
       maxlength='最大字符长度'
       value='文本框显示值'
   input标签CSS样式:
    	outline:0/none;   清除轮廓线
    	::palceholder  修改占位符样式  必须是两个冒号
-->

/*下拉菜单标签*/
<select>
   <option selected='selected'></option>
</select>
 <!--
 	option标签属性:selected='selected'  默认选择
 -->  
/*文本域标签*/
<textarea name="" id="" cols="30" rows="10"></textarea>
<!--
	文本域标签CSS样式:
		resize:none; 禁止文本域拖拽
--> 

/*音频标签*/
<audio controls='' loop='' autoplay=''>
    <source src='小乔.mp3'>
    <source src='小乔.wav'>
    <source src='小乔.ogg'>
</audio> 

/*视频标签*/
<video controls='' loop='' autoplay='' width='' height=''>
    <source src='小乔.mp4'>
    <source src='小乔.wav'>
    <source src='小乔.ogg'>
</video>       

CSS

css样式书写位置

  1. 行内样式
       它与HTML结构混合在一起 不推荐使用
  2. 内嵌样式
       只能控制当前页面 部分分离(HTML)通常头部
  3. 外链接样式
       从外部引入CSS文件

选择器

  1. 标签选择器 div
       div span 等等标签
  2. 类名选择器 .类名
       class=“类名”
  3. id选择器 #id名
       id=‘id名’
  4. 通配符选择器 *
  5. 后代选择器
        div p span{子代 孙代 …都能选中}
  6. 子代选择器
       div>p{只能选中子代}
  7. 交集选择器
       div,s,p{样式相同,用逗号链接在一起}
  8. 伪类选择器
       :nth-child(1) 选择父元素的子元素 1开始
  9. 链接伪类选择器
       a:link{未访问状态}
       a:visited{访问之后的状态}
       a:hover{鼠标悬停状态}
       a:active{激活状态}
  10. 获取光标选择器
        :focus

文字属性

    font-size:12px               文字大小
    font-family:‘宋体’           字体
    font-weight:700             文字加粗 700
    font-style:italic               文字风格     normal不倾斜 italic斜体
    letter-spacing:18px       字体之间的间距
    word-spacing:18px       单词与单词之间的距离 对中文无效
    line-height:20px            行高
    color:red                        字体样式
    text-indent:2em             首行缩进
    text-decoration:none     去掉下滑线
    text-decoration:line-through     删除线
    text-align:center             文字水平对齐
    注意:行内元素不能直接使用text-align和text-indent属性

标签显示模式

  1. 块元素
        div p h1-h6 ul ol dl li form     
        特点:
                1)独占一行
                2)可以设置宽高
                3)块元素不设置宽度的时候,默认是父元素的宽度,不设置高度的时候,默认高度为0,内容会撑开高度
  2. 行内元素
        a span strong b em ins u s i
        特点:
                1)在一行上显示
                2)行内元素不能设置宽和高
                3)行内元素默认宽高为0,内容会撑开宽高
                4)行内元素代码换行会生成缝隙
  3. 行内块元素
          input img textarea td
          特点:
                1)在一行显示
                2)可以设置宽和高
                3)行内元素换行生成缝隙
  4. 模式转换:
        display:inline 转为行内元素
        display:block 转为块元素
        display:inline-block 转为行内块元素

标签嵌套规范

  1. 行内元素不能嵌套块元素
  2. 行内块元素不能嵌套块元素
  3. p标签也不能嵌套其它块元素
  4. a标签不能嵌套a标签,但可以嵌套其它元素

背景样式

     background:颜色 图片 是否平铺 是否固定 定位 大小
     background-repeat:no-repeat 不平铺
     background-attachment:fixed 固定背景
     background-image:linear-gradient(to top,red,green)线性渐变
     background-size:cover 背景图片等比例缩放,铺满盒子,有可能显示不完整
     background-size:contain 背景图片等比例缩放,显示完整,有可能盒子铺不满

盒子模型

     边框:
               border:大小 线条 颜色
               border-radius:50%; 圆
     内边距:
               padding:18px;
               会把盒子撑大
     外边距:
               margin:12px;
     行内元素只能设置左右内外边距,不能设置垂直上下内外边距
     外边距的两大问题:
               1)相邻块元素的垂直外边距合并
               2)嵌套块元素的垂直外边距的合并
     解决方法:
               1)给父元素定义1像素的上边框或者内边距
               2)可以为父元素添加overflow:hidden,触发块级格式上下文BFC
               3)当子元素浮动或者脱标的时候,不会产生外边距塌陷
     盒子阴影:
               box-shadow:水平偏移量 垂直偏移量 模糊范围 阴影大小 颜色 (inset 内阴影)
     怪异盒子:
               box-sizing:border-box;盒子的大小不会因添加padding元素而撑大(不会撑大盒子)

透明度

     rgba(255,255,255,.3); 0-1范围取值
     opacity:0.2; 0-1范围取值

浮动

特点:
     1)浮动的元素会脱离标准的控制,不占据原来的位置
     2)浮动可以使(块)元素在一行显示
     3)浮动只能浮动到父元素的左边和右边,受到父元素内边控制
     4)浮动元素顶对齐,代码换行没有缝隙
     5)浮动元素不会影响标准流里的块元素,只会影响下边的元素
     6)浮动元素有了行内元素的显示特点:
               块元素浮动之后,不会默认父元素的宽度,默认高度为0,内容会撑开盒子的大小
               行内元素浮动之后,可以设置宽高了
浮动元素后面元素里面的文字,会环绕,不会跑到浮动元素的底下
清除浮动的原因:为了解决父元素没有设置高度,里面的子元素浮动之后不能撑大父元素高度问题
清除浮动:

	<style>
		.clear::after{
			content:'';
			display:block;
			height:0;
			clear:both;
			visibility:hidden;
		}
		.clear{
			*zoom:1;
		}
	</style>

伪元素

在元素前面插入伪元素

::before{
	content:'';
}

在元素后面插入伪元素

::after{
	content:'';
}

注意:伪元素里面必须有content

定位

定位:position:relative/absolute/fixed
相对定位 relative
	特点:
		相对定位元素不会脱标还占据原来的位置
		相对定位的元素位置偏移基于自身位置
绝对定位 absolute
	特点:
		绝对定位的元素脱标,不占原来的位置
		绝对定位的元素,所有父元素没有定位,位置偏移基于浏览器
		绝对定位的元素,如果父级元素有定位,位置偏移基于离他最近的使用了定位的父级元素偏移
		绝对定位的元素有了行内块的显示特点:
			绝对定位的块元素,不会默认父元素的宽度
			绝对定位的行内元素,可以设置宽高
固定定位 fixed
	特点:
		固定定位的元素脱标,不占据原来的位置
		固定定位的元素位置偏移基于浏览器可视窗口
		固定定位的元素有了行内块元素的显特点:
			固定定位的块元素不会默认父元素的宽度
			固定定位的行内元素会转换成行内块元素
定位元素的堆叠顺序
	z-index:默认值为0,标签越靠后,z-index层叠顺序越靠前
	注意:	
		z-index的值没有单位
		只能应用于在相对定位、绝对定位、固定定位上,对于标准流和浮动,静态定位无效

元素显示与隐藏

	display:none; 		隐藏对象,隐藏之后不占位置
	visibility:hidden;	对象隐藏,隐藏之后还占据位置

	overflow:visible;	溢出可见 默认值
	overflow:scroll;	不管内容是否溢出都生成滚动条
	overflow:auto;		溢出时候有滚动条
	overflow:hidden;	溢出隐藏

鼠标样式

	cursor:default		 默认值
		   pointer 		 小手
		   move 		 移动
		   text 		 文本
		   not-allowed 	 禁止
		   help  		 帮助

单行文本超出生成省略号

	white-space:nowrap;  单行显示
	text-overflow:ellipsis;  省略号
	overflow:hidden; 溢出隐藏

去掉图片底部缝隙

	vertical-align:top;顶部对齐
				   middle 垂直居中对齐
				   bottom 底部对齐
				   baseline;基线对齐
	以上都可以去掉图片缝隙,或者将图片元素转成块元素
	注意:vertival-align:样式只有行内元素和行内块元素的文字、垂直对象有效,块元素无效

插入网页图标

	<link rel="icon" href="图标地址" type="image/x-icon">

动画

	过度属性:transition:all 1s linear

        transform:translate(x,y); 移动
        transform:rotate(45deg);旋转 顺时针
        transform:origin:x y;旋转中心
        transform:scale(x,y);缩放默认是1 不带单位

        @keyframes 动画名称{
            form{

            }to{

            }
        }
        @keyframes 动画名称{
            0%{

            }50%{

            }100%{

            }
        }
        调用动画:animation:动画名称 动画时间

3D转换

景深:
	perspective:500px;近大远小
	一般加在body上
	值越小,变化越剧烈
位移translate3d:
	transform:translate3d(x,y,z); 移动
	使用与2d基本相同
旋转rotate3d:
	transform:rotate3d(45deg); 旋转 顺时针
	使用与2d基本相同
	自定义轴向
		transform:rotate3d(1,1,0,45deg)
缩放scale3d
	transform:scale3d(x,y,z)默认是1
	使用和2d基本相同
	注意:z轴效果
开启3D转换
	给3d转换的元素的亲生父元素开启空间:tansform-style:preserve-3d;	

flex布局

1.写在父元素上
	display:flex; 该属性使用后,子元素上的 float、clear、vertical-align属性将失效
	flex-direction:row|row-reverse|column|column-reverse (改变主轴方向)
	flex-wrap:nowrap|wrap|wrap-reverse(是否换还行)
		nowrap 不换行
		wrap 换行,第一行在上面
		wrap-reverse 换行第一行在下面
	flex-flow:flex-direction flex-wrap (上面两个属性的缩写)
	justify-content:flex-start|flex-end|center|space-between|space-around|space-evenly(主轴对齐方式)
		flex-start 左对齐
		flex-end 右对齐
		center 居中对齐
		space-between 两端对齐,项目之间的间隔都相等
		space-around 每个项目两侧的间距相等,项目之间比项目与边框之间的间距大一倍
		space-evenly 项目之间间距和项目与容器边框之间的间距相等
	align-items:flex-start|flex-end|center|baseline|stretch(交叉轴对齐方式)
		flex-start 起点齐
		flex-end 终点对齐
		center 居中对齐
		baseline 项目的第一行文字的基线对齐
		stretch 默认值,如果项目没有设置高度或auto,将占满整个容器的高度
	align-content:flex-start|flex-end|center|space-between|space-around|space-evenly(交叉轴多行对齐方式)
		flex-start 起点齐
		flex-end 终点对齐
		center 居中对齐
		space-between 两端对齐,项目之间的间隔都相等
		space-around 每个项目两侧的间距相等,项目之间比项目与边框之间的间距大一倍
		space-evenly 项目之间间距和项目与容器边框之间的间距相等
2.写在子元素上的属性
	order:默认值为0,用于决定项目的排序,数值越小项目排越前面
	flex-grow:默认值为0,用于决定项目在剩余空间的情况下是否放大,默认不放大 1放大
	flex-shrink:,默认值为1,用于决定空间不足的时候项目是否缩小,默认等比例缩小 0不缩小
	flex-basis:默认auto 用于设置项目的宽度,使用flex-basis属性会覆盖width属性,flex-basis权重比width高
	flex:默认值 1 0 auto flex属性是flex-grow、flex-shrink、flex-basis属性的缩写
		他的值有flex:auto(项目会放大或缩小,宽度auto),flex:none(项目不会放大也不会缩小,宽度auto)
	align-self:auto(默认)|flex-start|flex-end|baseline|stretch(交叉轴对齐方式)
	

媒体查询

@media screen and (min-width:0) and (max-width:32px){}

多列布局

那个元素需要多列布局就给那个元素添加样式
1.column-count:分栏的个数
2.column-width:分栏的宽度
3.column-gap:分栏的间距
4.column-rule:分栏的边框
5.column-span:all/1 合并分栏 火狐不支持  子元素上添加
瀑布流效果,解决断裂情况 加 break-inside:avoid;  谁需要给谁添加

移动端适配方法

1.淘宝适配	引入flexble.js文件  单位使用px
2.网易适应	vw + rem 实现布局,等比缩放布局
	相对单位:
		%	相对最近的父元素
		em	相对于最近父元素的字号大小,即1em = 16px
		rem	root em  相对于根元素(HTML)字号的大小,即 1rem = 16px;
		pt	安卓原生使用单位
		
		vw	相当于当前视口的宽度,默认满屏宽度为100vw
		vh	相当于当前视口的高度,默认满屏高度为100vh
		
		把根元素的单位换为vw
		vw和rem来写移动端
		主要是用rem这个单位来写所有的数据,用vw作为HTML的font-size的单位来使用
		
		CSS3新增属性:clac()   ==>  计算属性
		那么根元素就写,HTML{font-size:clac(100vw/7.5)}
		7.5是   实际测量的宽度/100
		页面元素rem值  =  实际测量值/100
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值