低版本浏览器使用最新渲染模式以免IE不支持CSS3属性

news/2024/11/17 6:20:45/

1.让IE使用最新的渲染模式,告诉低版本浏览器使用最新渲染模式以免IE不支持CSS3属性

<meta http-equiv="X-UA-Compatible" content="IE-edge,chrome=0">

2.设置屏幕自适应,网页不可缩放

<meta name="viewport" content="width=device-width,initial-scale=1">

3.使用radio制作导航

①让一个元素不可见(隐藏)的几种方法:

display:none; 隐藏不占位

position:absolute; left:-9999px,给他一个足够大的位偏移 ;

visible:hidden;隐藏但他还站着位,他还在那个地方呆着

opacity:0px;隐藏但还占着位,他在,只是透明度为0,我们看不见他。

②display:none 隐藏不占位

我们虽然在页面中看不到那个单选按钮,但他在页面中其实是有作为的,但我们又要把他隐藏掉,但他又不能走掉,因为我们要点击他,
我们先要触发input单选按钮来判断我们选没选选中a,通过单选按钮来确定我们选没选中a,(input也可以设置它的宽高来扩大它的触发范围,但他的形状我们并看不出来有什么变化,其实它占的位还是我们设置的那个宽高)
所以此时要让input的优先级高于a(input的z-index:1000;要大于a的z-index这个很重要)。

3.添加样式

+表示我们当前元素它后面的元素。

#st-control-1+a表示st-control-1后面的a。

#st-control-1~a表示st-control-1后面所有的a。

Input:checked是用来匹配所有被选中的单选按钮或复选框(input有一个属性是checked=“checked”)

我现在要设置的不是input而是input上面的a,我们的所有样式并不是针对input,input只是方便我们判断我们的东西有没有被选中,我的样式都是在a上的所以要这样写:

#st-control-1 input:checked+a{ background:#821134;}

表示#st-control-1下的被选中的那个input下的a。

我点中了那个导航,那个导航的正上方才会出现三角,没被点中的就不会有三角,所以我这个三角是动态生成的,那么我们希望我们这个三角是生成在我们的a里面的,也就是我们要在我们的a标签的最后插入一个三角形,所以要用到

#st-control-1 input:checked+a:after

(动态的在a标签后面生成三角)`{content:}

【#st-control-1 input:checked(因为没有选中的导航是没有三角的,所以要用到checked)】`

#st-control-1 input:hover+a:

表示#st-control-1下的所有的input在鼠标滑过的时候它下面的a的背景颜色发生变化。

#st-control-1 input:checked:hover+a:

表示#st-control-1下的所有的input当中被选中的那个input在鼠标滑下的时候它的背景颜色不发生变化。

4.div盒子

我们把所有的内容先塞到一个大的div盒子里,接着是每一个导航对应的页面
我们每一个导航对应的页面塞到

标签

(他是h5新增的一个语义化的标签,主要是用来放页面的主要内容的)里,这里我们给每个section定义一个id,我们在做导航的时候,当我们点击导航的时候,我们要找到导航对应的页面,所以我们要给每个导航即a标签加一个锚点链接(锚点链接的id是对应的)

<a href=”#st-panal1”></a>
<section id=”st-panal1”></section>  是对应的

5.大盒子和浏览器窗口左对齐和顶对齐

我们这个图标并不是用的图片,而是利用css3的@font-face定义的一个字体

中的内容都是占满整个屏幕的所以:

.St-scroll和st-panal有共同的样式

{width:100%;height:100%;}

页面是带有滑动效果的,也就是页面的位置会发生改变,页面位置的改变是相对于他原来的位置而改变的,所以position:relative;不管是大盒子st-scroll还是小盒子st-panal,它们都要加上position:relative;所以我们一开始就要定义body{overflow:hidden;}溢出的会隐藏掉,(没有overflow:hidden;就会出现垂直滚动条)

.st-scroll{top:0;left:0;}

也就是让这个大盒子和我们的浏览器窗口是左对齐和顶对齐的。

6.页面切换的原理

我们改变的不是section的位置,而是放整个section的st-scroll这个div大盒子的位置。

.st-scroll{top:0;left:0;-webkit-transform-translate3d(0,0,0)}

(对应的是x轴,y轴,z轴)这个是让他平移
哪个导航被我们点中了,我们就要去找到他对应的section
盒子(+仅仅匹配紧跟在当前元素它后面的元素,并不强调一定要紧跟在他后面的,只要在他后面就可以了,没有强调紧跟这两个字)但我们现在通过input想找的不是a而是st-scroll所以我们不能用+,因为#st-control-1和.st-scroll中间还有其他的元素,只能用~

#st-control-1:checked ~ .st-scroll{-webkit-transform:translateY(0%);}
#st-control-2:checked~.st-scroll{-webkit-transform:translateY(-100%);}
#st-control-3:checked~.st-scroll{-webkit-transform:translateY(-200%);}
#st-control-4:checked~.st-scroll{-webkit-transform:translateY(-300%);}

(因为我们每个section都是100%的高)

发现我们在点击的时候仅仅只是做了切换,看起来很生硬,并没有页面滑动的效果,因为我们没有定义transition过渡(也就是我把页面从0%的位置变到-300%的位置中间的那个过渡的过程),transition是用来做过渡的,那么transition定义在哪儿呢:你改变的是谁,就定义在谁的上边,

#st-control-1 :checked~ .st-scroll{-webkit-transform:translateY(-100%);

-webkit-transition:all(这里过渡谁就写谁,如果觉得麻烦就写all,表示过渡所有的属性),0.6s,ease-in-out;}(注意把其他浏览器的内核也写上,尼玛我这里就不写了)这样页面在切换的时候就会有一个中间过渡的过程,有一个滑动的效果,而不是一下子就他妈的给切过去了。

7.after选择器

这里的图标并不是用的图片,而是用的我们网上下载的特殊的字体,通过把字母或者数字定义成这种特殊的字体而显示出来这些图标,所有你要在出现图标的div上都要定义一个data-icon属性。

data-icon=什么,说明这个图标就是用什么来表示出来的,比如data-icon=2说明这个图标就是用数字2显示出来的。

我希望我的这个图标是出现在div的后边的,所以要用到:after选择器。

:after表示在这个元素的后面插入一个元素。

:after中的content可以是一串字符串,也可以是一个URL地址,还可以是attr这个关键字来获取的一个属性。

【data-icon】:after{content:attr(data-icon);}

也就是说我要在所有含有data-icon这个属性的元素的后面插入内容,内容就是data-icon属性的值
after 选择器向选定的元素之后插入内容。

8.使用content 属性来指定要插入的内容

在 jQuery Mobile 中,如需为按钮添加图标,请使用 data-icon 属性:

<a href="#anylink" data-role="button" data-icon="refresh">Refresh Page</a>

提示:在 或 元素中,您也可以使用 data-icon 属性。

属性选择器要放在中括号里的【】

【data-icon】选择器表示找到所有含有data-icon属性的元素

对父盒子旋转了45度,里面的文字内容特么也跟着转了45度,特么我就给他转回去再加上 -webkit-transform:rotate(-45deg);,

9.font-face定义特殊字体

通过@font-face来定义一些特殊的字体

@font-face//在页面中引入这样的字体,下面如果要用到这种字体就可以直接通过font-family来设置

font-family: myFirstFont;//你看你下载的什么就用什么名儿,一般的字体文件也会包含那几种字体格式

src: url('Sansation_Light.ttf'),url('Sansation_Light.eot'); /* IE9 */
}

10.页面内容部分的动画

首先动画定义在哪儿:
注意的是千万不要把动画定义在h2上,
如果定义在h2上则所有的h2标签的元素都会有动画
,但其实是,我们点哪个了,那个页面进来了,那个页面才会有动画,
也就是说我们哪个导航是选中的了,切换到对应的页面了,
对应的这个页面的h2才是有动画的,其他的页面不会有动画,
所以你首先得知道你选中的是哪个section
(结构写深的时候要注意选择器的选择,+和 ~ 匹配的都是和跟你并列的同级的元素)
注意:

#st-control-1:checked~.st-scroll #st-pannal h2{}

被选中的那个元素的后边的st-scroll下的#st-pannal下的h2。

h2区分Transition动画。
(它实现的动画需要事件去触发,比如:鼠标经过或者点击)和animation动画(他实现的动画是不需要动画去触发的)


http://www.ppmy.cn/news/689335.html

相关文章

[IE9] 如何开启IE9的GPU硬件加速

IE9 会自动检测你机器上GPU。 如果GPU存在&#xff0c;IE9会自动开启GPU硬件加速。所以你不用做任何设置。 如何判断IE9已经开启GPU硬件加速&#xff1a; 打开"Internet 选项"&#xff0c; 在“高级”标签页里面&#xff0c;可以看到 "加速的图形&#xff1a; 使…

全面edge浏览器体验优化

前言 使用Windows系统的朋友们肯定都多少会用到edge浏览器&#xff0c;但是你们都真的了解edge的实用功能吗&#xff0c;本文会介绍edge优秀好用的自带功能以及能极大程度提升使用体验的第三方插件&#xff0c;帮助你打造一个用着更加顺手方便的edge浏览器。 自带功能 1、re…

Win10系统Chrome浏览器启用独立显卡提升3D程序渲染性能

在Windows系统中为何你的浏览器卡顿&#xff1f;尤其是运行web端3D程序的时候卡顿&#xff0c;有可能没有开启硬件加速。没开启硬件加速&#xff0c;只能使用集成显卡或者模拟程序&#xff0c;就会卡顿、慢。而且会导致3D程序中一些细节的渲染效果会花掉&#xff0c;例如阴影、…

Windows 11 配置使用 Edge 浏览器的 IE 兼容模式(永久)

Windows 11 配置使用 Edge 浏览器的 IE 兼容模式&#xff08;永久&#xff09; 前言实现方法一、下载策略包二、解压策略包三、拷贝策略包到 PolicyDefinitions 下四、组策略编辑器五、生成并编辑 xml 文件compat-mode 定义的是哪个版本 IE 兼容模式&#xff0c;枚举如下open-i…

android edge 插件,Win10手机版Edge浏览器也将支持插件扩展

IT之家讯 微软在Build2015大会上正式宣布Windows10系统的Mircosoft Edge浏览器&#xff0c;除了最新UI和渲染引擎之外&#xff0c;还将带来插件扩展。 关于Edge和扩展&#xff0c;虽然微软在大会演讲中只提供了一点细节&#xff0c;但是在随后的访谈中&#xff0c;微软工程师谈…

Maven(三)如何使用命令导出所有的组件和版本信息

命令如下&#xff1a; mvn dependency:tree | grep ":jar" | sed s/ //g | sed s/-//g | sed s/\\-//g | sed s/|//g | awk !x[$0]注意&#xff1a;以上命令需要在 Git Bash 中执行。 执行结果&#xff1a; 整理完毕&#xff0c;完结撒花~ &#x1f33b;

STM32F407 基本定时器配置输出PWM方波

介绍STM32F407定时器PWM波形输出配置方式。 通过逻辑分析采集波形数据进行可视化显示对比。 【1】定时器PWM功能介绍 STM32F4 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也…

dpc++(oneAPI)调用nvidiaGPU配置与验证

前提 1.安装Intel oneAPI Toolkits https://software.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top.html 下载安装Base版&#xff0c;注意版本&#xff0c;尽量安装新版本 2.安装GPU驱动与CUDA https://devel…