前端HTML/CSS学习笔记

前言

该笔记仅为个人学习时做的一些笔记,作为学习记录,可能存在错误或缺陷。

HTML(超文本标记语言)

https://www.w3cschool.cn/html/dict

一、主题格式

<!DOCTYPE html>   <!--文档声明-->
<html>         <!--根标签-->

	<head>    <!--子标签-->
		<meta charset="utf-8">   <!--字符集-->
	    <title></title>   <!--网页标题-->
	</head>
	
	<body>     <!--子标签,主体-->
		<h1><h2>      <!--一级标题-->
		<h2><h3>      <!--二级标题-->
	</body>
</html>

二、注释

<!--   xxxxxx     -->

注释不能嵌套

三、常用标签

1.基本标签(Basic Tags)

<h1>最大的标题</h1>
 <h2> . . . </h2>
 <h3> . . . </h3>
 <h4> . . . </h4>
 <h5> . . . </h5>
 <h6>最小的标题</h6>
 
 <p>这是一个段落。</p>
 <br> (换行)
 <hr> (水平线)
 <!-- 这是注释 -->

2.文本格式化(Formatting)

<b>粗体文本</b>
 <code>计算机代码</code>
 <em>强调文本</em>
 <i>斜体文本</i>
 <kbd>键盘输入</kbd> 
 <pre>预格式化文本</pre>
 <small>更小的文本</small>
 <strong>重要的文本</strong>
 
 <abbr> (缩写)
 <address> (联系信息)
 <bdo> (文字方向)
 <blockquote> (从另一个源引用的部分)
 <cite> (工作的名称)
 <del> (删除的文本)
 <ins> (插入的文本)
 <sub> (下标文本)
 <sup> (上标文本)

3.链接(Links)

普通的链接:<a href="链接地址">链接文本</a>
图像链接: <a href="http://www.example.com/"><img src="URL" alt="替换文本"></a> 
邮件链接: <a href="mailto:webmaster@example.com">发送e-mail</a>
书签: <a id="tips">
提示部分</a> <a href="#tips">跳到提示部分</a>

4.图片(Images)

<img src="URL" alt="替换文本" height="42" width="42">

5.样式/区块(Styles/Sections)

<style type="text/css">
   h1 {color:red;}
   p {color:blue;}
 </style>
 
 
 <div>文档中的块级元素</div>
 <span>文档中的内联元素</span>

四、实体

空格:&nbsp

小于号:&lt

大于号:&gt

&符号:&amp

引号:&quot

乘号:&times

除号:&divide

五、表格 table

<table>          <!--表,属性:width,heigh,cellpadding,cellspacing-->
    <caption>xxxxxx</caption>    <!--表格标题-->
    <tr>       <!--行-->
        <th>1</th>      <!--表头单元格,具有属性align、dir、width、height-->
        <th>2</th>
    </tr>
    <tr>
        <td></td>     <!--列,colspan=“2”合并2列,rowspan合并行-->
        <td></td>
    </tr>
</table>

可分为:

<thead></thead><tfoot></tfoot><tbody></tbody>

六、列表

1.无序列表

<ul>         <!--不同类型的列表,如style="list-style-type:disc"或circle/square-->
    <li>aaaaaa</li>
    <li>bbbbbb</li>
</ul>

2.有序列表

<ol>  <!--有不同类型的列表,如:type=”A“或a/I/i/-->
    <li>aaaaaa</li>
    <li>bbbbbb</li>
</ol>

3.自定义列表

<dl>
    <dt>1</dt>
    <dd>aaaaaa</dd>
    <dt>2</dt>
    <dd>bbbbbb</dd>
</dl>

列表可嵌套

七、表单

1.文本 text:

<form>
    <fieldset>   <!--边框-->
        <legend>个人信息:</legend>    <!--标题-->
    姓名 :<input type="test" name="name" placeholder="用户名"><br>
    学号 :<input type="test" name="id" placeholder="id"><br>
    </fieldset>
</form>

2.密码 password:

<form>
    用户名:<input type="test" name="name" placeholder="username"><br>
    密码&nbsp&nbsp&nbsp&nbsp:<input type="password" name="pwd"<br>  <!--密码显示为隐藏-->
</form>

3.单选按钮 radio:

<form> <!--name要相同,要包含在各自的;label标签中-->
    <label><input type="radio" name="sex" value="gil">gil<br></label>
    <label><input type="radio" name="sex" value="boy">boy<br></label>
</form>

4.多选 checkbox:

<form>
    <label><input type="checkbox" name="flute" values="apple" checked>apple<br></label> <!--checked为默认被选中-->
    <label><input type="checkbox" name="flute" value="banana">banana<br></label>
</form>

5.提交按钮

<form name="input" action="URL" method="POST">
    用户名:<input type="text" name="username" required>   <!--required为必填选项-->
    <input type="submit" value="Submit">
</form>

6.下拉列表:

<form action="">    <!--action属性的值指定了表单提交到服务器的地址-->
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
</form>

7.文本域:

<textarea rows="10" cols="30"></textarea>

CSS

一、基本语法

1.注释

/* */

2.选择器

常用选择器:

  1. 元素选择器,如 :p{ }、h1{ }、body{ } 样式运用到 选择到的元素
  2. id选择器,如 :#1{ }、#red{ } 样式运用到id所在元素
  3. class选择器,如 :.greed{ }、.box-text{ } 样式将运用到聚友class属性的元素
  4. 通配选择器,*{ } 选择全部元素

复合选择器:

  1. 交集选择器:如:div.green{ }、.box-text.green{ } 当元素为div,且class为greed时,样式才被应用
  2. 并集选择器:如; h1,span{ } .green,p{ } 两个元素都会应用

关系选择器:

  1. 子元素选择器:父元素>子元素 如:div>p{ } 选择div中的p元素(子类)
  2. 后代元素选择器:祖先 后代 如:div h1{ } 选择div中的所有h1元素
  3. 选择下一个兄弟元素: 前一个+后一个 如:p+h2 选择p后面的一个h2
  4. 选择后面所有兄弟元素: 如:p ~ span{ } 选择下面所有的span兄弟元素

属性选择器:

  1. [属性名]{ } 包含有属性名的元素被选择
  2. [属性名=属性值]{ } 选择指定属性和指定属性值的元素
  3. [属性名^=属性值]{ } 选择属性值以指定值开头的元素
  4. [属性名$=属性值]{ } 选择属性值以指定属性值结尾的元素
  5. [属性名*=属性值]{ } 选择属性值包含指定属性值的元素

伪类选择器:

  1. :first-child{ } 第一个子元素 ,如:ul > li :first-child{ }
  2. :last-child{ } 最后一个子元素
  3. :nth-child(n){ } 第n个子元素
  4. 以上对所有元素进行排序选择
  5. :first-of-type{ } 第一个子元素 ,如:ul > li :first-of-type{ }
  6. :last-of-type{ } 最后一个子元素
  7. :nth-of-type(n){ } 第n个子元素
  8. 以上对相同类型的元素进行排序选择,如(5)中的只对li进行排序
  9. :not( ){ } 否定符合条件的元素 如: ul > li :not(first-of-type){ } 否定第一个元素

超链接伪类:

1.a:link{ } 用来表示没有访问过的连接设置(可设置字体大小)

2.a:visited{ } 用于表示访问过的连接设置(不可设置字体大小)

3.a:hover{ } 用来表示鼠标移入状态(全类可用)

4.a:active{ } 用来表示鼠标点击

伪元素:

::first-letter{ } 第一个字母 如:p::first-letter{color:red;}表示

的第一个字母颜色为红色

::first-line{ } 第一行

::select{ } 表示选中的内容

::after{ } 表示元素的结尾

::before{ } 表示元素的开始

选择器权重优先级:

内联选择器>id选择器>类和伪类选择器>元素选择器>通配选择器>继承选择器

3.声明块

样式名:样式值;

样式名:样式值;

二、样式设置样例

1.颜色

    p{background-color:red;}   <!--后面所有的《p》字体都为红色-->

2.颜色

<style>
  .red-text{           <!--.red-text为类名,引用时不加点.-->
  	color:red;
    }
</style>
------------------------------
<body>
	<h2 class="red-text"></h2>
</body>

3.字体

    p{
        font-size:16px;    <!--段落字体将会变为16px-->
    }

4.边框

    <!--边框颜色为红色、边框宽度为5像素(px)、边框样式为实线(solid),半径-->
    .thin-red-border {    
	     border-color: red;
	     border-width: 5px; 
	     border-style: solid;
	     border-radius:50%    <!--可像素-->
    }

5.使用元素id来设置

    #cat-photo-element {       <!--元素id为cat-photo-element-->
 	 	background-color: green;
	}

6.继承

    body{
        color:green;    <!--body中的所有元素都为green色-->
    }

7.覆盖

    .pink-text {
    		color: pink !important;
    }
    .blue-text {     <!--后面的会覆盖前面的,但!important属性会使得第一个不会被覆盖-->
   		   color: blue;
    }

8.颜色表示

    body{
        background-color:#FF0000;  <!--6位十六进制表示,2位分别表示红,绿,蓝-->
        background-color:#F00;  <!--3位十六进制表示,1位分别表示红,绿,蓝-->
        background-color:rgb(0, 0, 0);  <!--rgb表示,每个数值介于0-255-->
    }

9.内联(一般不用)

<p style="color: chartreuse; font-size: 100px">bb</p>

三、布局

盒子模型(box model):

  • 内容区(content)——可设置:高度(height)、宽度(width)

  • 内边距(padding)

  • 边框(border))——可设置:宽度(border-width)、颜色(border-color)、样式(border-style)

    /*或者用  “border:10px red solid” 一起设置 */
    
  • 外边距(margin) 相邻两个兄弟元素之间的外边距取两个中较大的值(正值)/取和(一正一负)/取绝对值较大(两负)

    /*
    外边距(margin)
    - 左、上设置自身位置
    - 右、下设置与其他元素距离
    - 正值为反方向,负值为相同的方向
    - 简写与padding相同
    - 子元素水平布局必须满足:margin-left + border-left + padding-left + width + padding-right + border-right + margin-right = 父元素内容区width
    - 如果等式不成立会自动调整margin-right使其成立(过度约束);可设置width、margin-right、margin-left为auto,auto会自动调整,width默认auto
    */
    
<div>块元素</div>---可全部设置

<span>行内元素</span>---不可以设置高度

元素设置(属性)

  • /*shadow用来设置元素阴影,第一个值为向右偏移量,第二个值为向下偏移量(负值相反)
                   第三个值为阴影模糊半径,第四个值为阴影颜色
                   (不影响box布局)
    */
    box-shadow: 20px 20px 10px gray;
    
  • /*radius用来设置圆角,圆角设置的半径大小*/
    border-radius: 15px;
    
  • /*设置鼠标移入,box1外添加轮廓(10px 红色 双线)*/
    outline:10px crimson double;
    
  • /*
    如果子元素溢出父元素,可使用overflow属性来设置:
       overflow:
          - visible,默认值,子元素从父元素中外部显示
          - hidden,隐藏溢出部分
          - scroll,生成两个滚动条,通过滚动条来查看完整内容
          - auto,根据需要生成滚动条
    
       overflow-x: 设置x轴滚动条
    
       overflow-y: 设置y轴滚动条
    */
    
  • /*盒子尺寸设置,box-sizing:
       有两个值:border-box、content-box
       border-box 表示盒子大小(width、height)直接设置boder
       content-box 表示盒子大小(width、height)设置为内容区大小,为默认值
       */
    box-sizing: border-box;
    
  • /*
    display 用来设置元素显示的类型
       可选值:
          inline 将元素设置为行内元素
          block 将元素设置为块元素
          inline-block 将元素设置为啥行内块元素
                      行内块元素兼具两者的特点
          table 将元素设置为一个表格
          none 元素不在页面内显示(不存在)
    
    visibility 用来设置元素的显示状态
       可选值:
          visible 默认值,元素在页面中正常显示
          hidden 元素在页面中隐藏,但依旧占据页面的位置
     */
    
  • /*  元素浮动:
    通过元素浮动设置一个元素向其父元素的左侧或者右侧移动
    可使用float来设置,可选值:
       none 默认值,元素不浮动
       left 元素向左浮动
       right 元素向右浮动
    
    元素设置浮动后,水平布局的等式不需要强制成立,并且会完全从文档流中脱离,不占位置
    
    浮动特点:
       1.浮动元素会完全脱离文档流,不再占据文档流中的位置
       2.设置浮动以后元素回想父元素的左侧或右侧移动
       3.浮动默认不会从父元素中脱离
       4.浮动元素向左或向右移动时,不会超过其他的浮动元素
       5.如果浮动元素上面是没有浮动的块元素,浮动元素无法上去
       6.浮动元素不会超越他的上一个兄弟元素,最多和它一样
       7.浮动元素不会盖住文字,文字会环绕在浮动元素的周围
    脱离文档流特点(元素设置浮动后,元素的特点也会发生变化):
    	块元素:
    		1.块元素不在独占一行
    		2.快元素的宽度和高度默认都被内容撑开
    	行内元素:
    		行内元素脱离文档流以后变成块元素,特点和块元素一样(变成块元素)
    */
    float: left;
    

四、浏览器默认样式

  • 在编写时要先去除默认样式

方法一:

*{
	margin:0px;
​    padding:0px;
}

方法二:
使用外部css文件

<link rel="stylesheet" href="./reset.css">

五、定位

/*    定位(position):
            - 是一种更高级的布局手段,可以布局到页面的任何位置
            - 使用position属性来设置
            可选值有:
            ---------------------------------------------------------------
                - static  默认值,元素静止没有开启定位
                - relative 开启元素相对定位  ------------如“2”
                    特点:元素如果不设置偏移量,不会发生变化;层级会变高
                    偏移量:只会移动本元素,参照与原来的位置
                        值:top:定位元素和定位位置上边的距离;
                            bottom:定位元素和定位位置下边的距离
                            left:定位元素和定位位置左边的距离;
                            right:定位元素和定位位置右边的距离;
                --------------------------------------------------------------
                - absolute 开启元素绝对定位   --------------如“3”对于“4”
                    特点:1.开启绝对定位后,如果不设置偏移量元素的位置不会发生变化
                        2.开启绝对定位后,元素会从文档流中脱离
                        3.绝对位置会改变元素的性值,行内变成块,块的宽度被内容撑开
                        4.绝对定位会提升一个层级
                        5.绝对定位元素是相对于其包含块的位置

                        包含块:
                            正常情况下:
                                包含块就是里当前元素最近的祖先元素
                            绝对定位的包含块:
                                包含块就是离他最近的开启了定位的祖先元素
                                如果所有祖先元素都没有开启定位,根元素就是其包含块
              --------------------------------------------------------------------
                - fixed 开启元素的固定定位  --------------如“5所示”
                        也是一种绝对定位,大部分特点与绝对定位相同
                        不同点:固定定位永远参照于浏览器的视口进行定位
                            视口:浏览器的视口,大小不变,所以固定定位的元素会一直出现在视口内
            ------------------------------------------------------------------------
                - sticky 开启元素的粘滞定位
                    特点:和相对定位的特点基本相似
                    不同点,当其到达某一个位置是就固定不动

*/

六、字体&背景

文本:

/*    文本框:
         text-align  文本的水平对其
            可选值:
                left:左对齐
                right:右对齐
                center:居中
                justify:两端对齐

         vertical-align  设置袁术垂直对齐的方式
            可选值:
                baseline:默认值,基线对齐
                top:顶部对齐
                bottom:底部对齐
                middle:居中对齐

          text-decoration  设置文本修饰
              可选值:
                  none:无
                  underline:下划线
                  line-through:删除线
                  overline:上划线

           white-space 设置网页如何处理空白
                可选值:
                     normal:正常
                     nowrap:不换行
                     pre:保留空白(保留代码格式)

                     对溢出的内容显示省略号:
                        white-space:nowrap;
                        over-flow:hidden;
                        text-overflow:ellipsis;(省略)

*/

字体:

  • font-family:
  • font-size:
  • color
  • 图标

背景:

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

/*背景图片,
   - 背景颜色和背景图片可一起设置,背景颜色为背景图片的背景颜色;
   - 如果图片像素小于元素,背景图片会自动铺满元素
   - 如果背景图片大于元素,背景图片无法完全显示
*/
background-image: url("p1.jpg");

/*设置背景重复方式
    可选值:
        repeat:默认值,背景会沿着x轴y轴双方向重复
        repeat-x:沿着x轴方向重复
        repeat-y:沿着y轴方向重复
        no-repeat:背景图片不重复
*/
background-repeat: no-repeat;

/*设置背景图片的位置
    值:
        top、left、right、bottom、center  五个(两两)组合
*/
background-position: top;
/*可设置偏移量,x、y方向*/
/*background-position: 10px 10px;*/

/*设置背景范围  background-clip
    可选值:
        border-box:默认值,背景会出现在边框下
        padding-box:背景不会出现在边框,智慧出现在内容区和内边距
        content-box:只会出现在内容区
   设置背景图片偏移量的计算原点  background-origin
     可选值:
        border-box:背景图片偏移量从边框开始计算
        padding-box:默认值,偏移量从内边距开始计算
        content-box:背景图片偏移量从内容区开始计算
*/
background-clip: border-box;
background-origin: border-box;

/*设置背景元素大小
    第一个值为宽度
    第二个值为高度
    只写一个值,则第二个值为auto(比例不变)

    cover:图片比例不变,将元素铺满
    contain:图片比例不变,将图片完整显示
*/
background-size: 500px;

/*设置背景图片是否跟随元素移动
    可选值:
        scroll:默认值,背景图片会跟随移动
        fixed:背景图片固定在页面中,不会跟随元素移动
*/
background-attachment: scroll;
/*渐变:
   实现颜色从一个颜色向其他颜色渐变
   渐变是图片,需要background-image来实现

   线性渐变:沿着一条直线实现渐变
       linear-gradient();  开头可以设置渐变方向 to right/left/top/bottom、xxx drg(角度)
       repeating-linear-gradient();   重复线性渐变

   镜像渐变:
       radial-gradient:
           默认圆心形状会根据元素形状改变
           也可以设置改变
           可设置圆心位置:  at 0px 0px,
           也可以设置渐变范围:closest-side、closest-corner、farthest-side、farthest-corner
       repeating-radial-gradient:  重复镜像渐变
           语法:
               radial-gradient(大小 at 位置,颜色 位置,颜色 位置,···);




*/
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值