web前端知识点记录

简介: web前端知识点记录

1、圆角

CSS3 之前,如果需要用到圆角效果,需要图像文件才能达到。在CSS使用CSS可以方便使用各种手段把网页灵活的分成多个部分。但是简单分割出来的都是矩形方框。在CSS中可以使用border-radius属性实现圆角效果。border-top-right-radius:指定元素右上角圆角、border-bottom-right-radius:指定元素右下角圆角、border-bottom-left-radius、border-top-left-radius。

目前Webkit引擎支持-webkit-border-radius私有属性,Mozilla Gecko引擎支持-moz-border-radius 私有属性,Presto引擎和IE 9+支持border_radisu标准属性。

2、z-index

z-index属性用于调整定位时重叠块的上下位置,z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。此属性参数值越大,则被层叠在最上面。元素可拥有负的 z-index 属性值。Z-index 仅能在定位元素上奏效(例如 position:absolute;)!可以简单理解为用定位把一些元素摞起来,z-index数值大的在上面,数值小的在下面。依次排列。

3、盒子模型

盒子模型,英文即box model。无论是div、span、还是a都是盒子。一个盒子中主要的属性就5个:width、height、padding、border、margin。如下:padding:内边距。

border:边框。margin:外边距。

在 CSS的标准盒子模型中,width 和 height 指的是内容区域的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。IE盒子模型中,width 和 height 指的是内容区域+border+padding的宽度和高度。

padding就是内边距。padding的区域有背景颜色,css2.1前提下,并且背景颜色一定和内容区域的相同。也就是说,background-color将填充所有boder以内的区域。

border就是边框。边框有三个要素:像素(粗细)、线型、颜色。颜色如果不写,默认是黑色。另外两个属性不写,要命了,显示不出来边框。

CSS盒模型详解:https://www.cnblogs.com/smyhvae/p/7256371.html

4、appearance属性

大家都知道每个浏览器对HTML元素渲染都不一样,比如说“button”,在chrome和ff中,渲染出来的效果都是不尽相同的。这样一来就有了今天这个思路,利用浏览器的对元素的默认渲染风格,我们可以使用“appearance”属性对任何元素的渲染风格改变,最简单的来说,我要把“a”链接默认显示成“按钮”风格,那么我们可以使用“appearance”设置为“button”。“appearance”功能听起来蛮大的,不过可惜的是,目前各个浏览器厂商各自为政,还无法达到统一的标准,至今天也只有两个内核的浏览器可以使用,其一是“webkit”,其二是“ff”的,也就是说在使用“appearances”时,需要加上各浏览器厂前缀。

appearance使用方法:

.elmClass{
   -webkit-appearance: value;
   -moz-appearance:    value;
   appearance:         value;
}

接下来我们一起来看个简单的实例:

<p class="lookLikeAButton">我是一个段落P元素 </p>
<p class="lookLikeAListbox">我是一个段落P元素 </p>
<p class="lookLikeAListitem">我是一个段落P元素 </p>
<p class="lookLikeASearchfield">我是一个段落P元素 </p>
<p class="lookLikeATextarea">我是一个段落P元素 </p>
<p class="lookLikeAMenulist">我是一个段落P元素</p>

接下来,使用“appearance”属性来改变上面“P”元素的风格:

.lookLikeAButton{
     -webkit-appearance:button;
     -moz-appearance:button;
}
/*看起来像个清单盒子,以listbox风格渲染*/
.lookLikeAListbox{
     -webkit-appearance:listbox;
     -moz-appearance:listbox;
}
/*看起来像个清单列表,以listitem风格渲染*/
.lookLikeAListitem{
     -webkit-appearance:listitem;
     -moz-appearance:listitem;
}
/*看起来像个搜索框,以searchfield风格渲染*/
.lookLikeASearchfield{
     -webkit-appearance:searchfield;
     -moz-appearance:searchfield;
}
/*看起来像个文本域,以textarea风格渲染*/
.lookLikeATextarea{
     -webkit-appearance:textarea;
     -moz-appearance:textarea;
}
/*看起来像个下接菜单,以menulist风格渲染*/
.lookLikeAMenulist{
     -webkit-appearance:menulist;
     -moz-appearance:menulist;
}

经过“appearance”的属性值设置后,段落P的默认风格就被改变了,如图所示:

5、CSS渐变色

CSS 渐变 是在 CSS3 Image Module 中新增加的 类型. 使用 CSS 渐变可以在两种颜色间制造出平滑的渐变效果. 用它代替图片,可以加快页面的载入时间、减小带宽占用。同时,因为渐变是由浏览器直接生成的,它在页面缩放时的效果比图片更好,因此你可以更加灵活、便捷的调整页面布局。

浏览器支持两种类型的渐变:线性渐变 (linear),通过 linear-gradient 函数定义,以及 径向渐变 (radial),通过 radial-gradient 函数定义.

这里是一个线性渐变从中间(水平方向)和顶部(垂直方向)开始,起始于蓝色,过渡到白色.

/* 旧语法,带前缀并且已经废弃,以支持老版本的浏览器 */
background: -prefix-linear-zgradient(top, blue, white); 
/* 新语法,不带前缀,以支持标准兼容的浏览器(Opera 12.1, IE 10, Firefox 16, Chrome 26, Safari 6.1) */
background: linear-gradient(to bottom, blue, white);

改变相同的渐变从左到右运行:

/* 旧语法,带前缀并且已经废弃,以支持老版本的浏览器 */
background: -prefix-linear-gradient(left, blue, white); 
/* 新语法,不带前缀,以支持标准兼容的浏览器(Opera 12.1, IE 10, Firefox 16, Chrome 26, Safari 6.1) */
background: linear-gradient(to right, blue, white); 

使用角度:如果你不指定一个角度,这个将自动基于给定的方向。如果你更喜欢控制渐变的方向,你可以设置特定的角度。

这个使用的是这样的CSS样式:

background: linear-gradient(70deg, black, white);

渐变是支持透明度的。 举个例子,当你叠加多个背景层,你可以使用这个在背景图片上来创建淡入淡出的效果 :

/*  旧语法,带前缀并且已经废弃,以支持老版本的浏览器 */ 
background: -prefix-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,1)), url(http://foo.com/image.jpg);
/* 新语法,不带前缀,以支持标准兼容的浏览器(Opera 12.1, IE 10, Firefox 16, Chrome 26, Safari 6.1) */  
background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,1)), url(http://foo.com/image.jpg);

背景是由第一个指定的背景在最上面, 然后接下来的背景层叠起来. 通过这种方式的层叠,你像上面一样创造非常有创造力的效果。

使用CSS渐变:https://developer.mozilla.org/zh-CN/docs/Web/Guide/CSS/Using_CSS_gradients

6、CSS选择器

a,b 选择所有a元素和所有b元素。

a b 选择a元素内部的所有b元素。

a>b 选择父元素为a元素的所有b元素。

a+b 选择紧接在a元素之后的所有b元素。

[target] 选择带有 target 属性所有元素。

[target=_blank] 选择 target="_blank" 的所有元素。

[title~=flower] 选择 title 属性包含单词 “flower” 的所有元素。

[lang|=en] 选择 lang 属性值以 “en” 开头的所有元素。

a:link 选择所有未被访问的链接。

a:visited 选择所有已被访问的链接。

input:focus 选择获得焦点的 input 元素。

a:first-letter 选择每个a元素的首字母。

a:first-child 选择属于父元素的第一个子元素的每个a元素。

a[src^=“https”] 选择其 src 属性值以 “https” 开头的每个 a元素

p:only-child 选择属于其父元素的唯一子元素的每个p元素。

:root 选择文档的根元素。

input:checked 选择每个被选中的input元素。

::after 设置某一个对象后的内容

::before 设置某一个对象之前的内容

7、autofocus

使用autofocus属性可用于所有类型的input属性,当页面完成时,可自动获取焦点。每个页面只允许出现一个有autofocus属性的input元素。如果指定多个input为此属性,则相当于为制定该行为。

<input type="text" name="key" autofocus>

8、autocomplete属性

IE早期板门就已经支持autocomplate属性。autocomplete可用于form元素和输入型的input元素,用于表单的自动完成。autocomplete会把输入的历史记录下来,当再次输入的时候,会把输入的历史记录显示在一个下拉列表中,以实现自动完成驶入。

<input type="text" id="uname" name="uname" autocomplete="on">

9、require属性

一旦在某个表单form元素标签中添加了required属性,则该表单元素的值不能为空,否则无法提交。

10、 remove与empty

empty()是只移除了 指定元素中的所有子节点,拿$(“p”).empty()来说,他只是把

dsfsd

中的文本给移除了,而留下 了,仍保留其在dom中所占的位置。

remove([expr])则是把其从dom中删除,而不会保留其所占的位置。

例:

<p>Hello</p> 
World 
<p>welcome</p> 

执行$(“p”).empty()其结果是

<p></p> 
World 
<p></p>

执行$(“p”).remove()其结果是

World

11、在页面中添加元素

append()、appendTo():在结尾插入内容

prepend()、prependTo():在开头插入内容

after():在被选元素后插入指定内容

before():在被选元素前插入指定元素

12、jquery中html、val、text的区别

.html()用为读取和修改元素的HTML标签 对应js中的innerHTML

.html()是用来读取元素的HTML内容(包括其Html标签),.html()方法使用在多个元素上时,只读取第一个元素

.text()用来读取或修改元素的纯文本内容 对应js中的innerText

.text()用来读取元素的纯文本内容,包括其后代元素;.text()方法不能使用在表单元素上

.val()用来读取或修改表单元素的value值

.val()是用来读取表单元素的”value”值,.val()只能使用在表单元素上

13、值得分享的最全面Bootstrap快速人门案例

链接地址------>

14、checkbox实现

<input type="checkbox" id="SX" value="SX" v-model="checkedNames" />
<label for="SX">SX</

如果不添加

后面的label,则会导致checkbox按钮后面没有文字说明。点击checkbox后取的值是value的属性。

15、select默认文字显示:

<option value="" disabled selected style='display: none;'>severity</option>
相关文章
|
2月前
|
前端开发 JavaScript 安全
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第27天】本文介绍了HTTP/2和HTTPS在前端性能调优中的应用。通过多路复用、服务器推送和头部压缩等特性,HTTP/2显著提升了Web性能。同时,HTTPS确保了数据传输的安全性。文章提供了示例代码,展示了如何使用Node.js创建一个HTTP/2服务器。
69 3
|
2月前
|
前端开发 JavaScript
探索现代Web应用的微前端架构
【10月更文挑战第40天】在数字时代的浪潮中,Web应用的发展日益复杂多变。微前端架构作为一种新兴的设计理念,正逐步改变着传统的单一前端开发模式。本文将深入探讨微前端的核心概念、实现原理及其在实际项目中的应用,同时通过一个简单的代码示例,揭示如何将一个庞大的前端工程拆分成小而美的模块,进而提升项目的可维护性、可扩展性和开发效率。
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
44 6
|
2月前
|
消息中间件 前端开发 JavaScript
探索微前端架构:构建现代Web应用的新策略
本文探讨了微前端架构的概念、优势及实施策略,旨在解决传统单体应用难以快速迭代和团队协作的问题。微前端允许不同团队独立开发、部署应用的各部分,提升灵活性与可维护性。文中还讨论了技术栈灵活性、独立部署、团队自治等优势,并提出了定义清晰接口、使用Web组件、状态管理和样式隔离等实施策略。
|
2月前
|
监控 前端开发 JavaScript
探索微前端架构:构建可扩展的现代Web应用
【10月更文挑战第29天】本文探讨了微前端架构的核心概念、优势及实施策略,通过将大型前端应用拆分为多个独立的微应用,提高开发效率、增强可维护性,并支持灵活的技术选型。实际案例包括Spotify和Zalando的成功应用。
|
2月前
|
前端开发 安全 应用服务中间件
前端性能调优:HTTP/2与HTTPS在Web加速中的应用
【10月更文挑战第26天】随着互联网的快速发展,前端性能调优成为开发者的重要任务。本文探讨了HTTP/2与HTTPS在前端性能优化中的应用,介绍了二进制分帧、多路复用和服务器推送等特性,并通过Nginx配置示例展示了如何启用HTTP/2和HTTPS,以提升Web应用的性能和安全性。
42 3
|
2月前
|
前端开发 JavaScript API
前端框架新探索:Svelte在构建高性能Web应用中的优势
【10月更文挑战第26天】近年来,前端技术飞速发展,Svelte凭借独特的编译时优化和简洁的API设计,成为构建高性能Web应用的优选。本文介绍Svelte的特点和优势,包括编译而非虚拟DOM、组件化开发、状态管理及响应式更新机制,并通过示例代码展示其使用方法。
67 2
|
3月前
|
人工智能 前端开发
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
|
3月前
|
存储 前端开发 JavaScript
从 Web 2.0 到 Web 3.0:前端开发的历史与未来
【10月更文挑战第4天】本文探讨了从 Web 2.0 到 Web 3.0 的前端开发演变过程。Web 2.0 时代,前端开发者从静态网页设计走向复杂交互,技术框架如 jQuery、React 和 Vue 带来了巨大的变革。而 Web 3.0 以区块链技术为核心,带来了去中心化的互联网体验,前端开发者面临与区块链交互、去中心化身份验证、分布式存储等新挑战。文章总结了 Web 2.0 和 Web 3.0 的核心区别,并为开发者提供了如何应对新技术的建议,帮助他们在新时代中掌握技能、设计更安全的用户体验。
77 0
从 Web 2.0 到 Web 3.0:前端开发的历史与未来
|
2月前
|
监控 前端开发 JavaScript
前端技术探索:构建高效、可维护的Web应用
【10月更文挑战第23天】前端技术探索:构建高效、可维护的Web应用
57 0