css3里怎样使div从左(无)到右(有)滑入页面

html-css015

css3里怎样使div从左(无)到右(有)滑入页面,第1张

代码如下:

<h1>CSS3滑入/滑出效果</h1>

<div id="volet_clos">

  <div id="volet">

      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima quisquam tempora quaerat dolores molestias reiciendis .</p>

      <p>vero labore voluptates necessitatibus ut? Et</p>

      <p>vero labore voluptates necessitatibus ut? Et</p>

      <p>vero labore voluptates necessitatibus ut? Et</p>

      <p>vero labore voluptates necessitatibus ut? Et</p>

      <a href="#volet"  aria-hidden="true" class="ouvrir">滑出</a>

      <a href="#volet_clos" aria-hidden="true" class="fermer">滑入</a>

  </div>

</div>

扩展资料

web网页设计的重要注意事项:

1、网页版面设计合理性

网页设计过程中,一定要留意网页版式的合理性,通过合理的网页布局让用户浏览起来比较顺畅舒适,注意网页版式的设计,不要块块之间过于冗繁,显示拥挤,要有主次分明,注意简练大方。

2、运用舒缓的色彩设计

在网页色彩搭配上,采用淡色系进行页面设计,特别要注意颜色的分配,总体颜色不宜超过三种颜色,可以确定一个主颜色再加上辅助颜色进行点缀搭配,这样整体设计展现出来比较调和、舒缓,用户浏览页面也不会导致眼花缭乱,眼睛疲劳。

3、丰富的页面内容

丰富的内容赋予网页生命力,用户都是喜欢有新鲜、丰富内容的网页,一个受欢迎的网页设计一定是有丰富多彩的内容吸引用户的。

丰富内容的网页对于搜索引擎也是受欢迎的,当搜索引擎每次来到我们网站进行抓取内容的时候,如果我们的网页内容保持新鲜、原创,将会很快进行收录,这对于网站整体优化排名都是有好处的。

有动画效果的是css3的transition、@keyframes、animation等,css要鼠标移上去后改变状态只能用:hover伪类,暂停动画可以用设置animation-play-state:paused,继续动画是animation-play-state:running (可能需要设置添加-webkit-等私有前缀)其实动画还是推荐jq,实现起来还是挺方便的,而且不用担心浏览器兼容性。

给你写个例子:

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8" />

<title>动画暂停</title>

<style type="text/css">

@keyframes move

{

from {

transform: rotate(0deg)

left: 0

}

to   {

transform: rotate(360deg)

left: 600px

}

}

@-webkit-keyframes move

{

from {

-webkit-transform: rotate(0deg)

left: 0

}

to   {

-webkit-transform: rotate(360deg)

left: 600px

}

}

@-zos-keyframes move

{

from {

-zos-transform: rotate(0deg)

left: 0

}

to   {

-zos-transform: rotate(360deg)

left: 600px

}

}

@-o-keyframes move

{

from {

-o-transform: rotate(0deg)

left: 0

}

to   {

-o-transform: rotate(360deg)

left: 600px

}

}

.box {

animation: move 3s alternate infinite

-webkit-animation: move 3s alternate infinite /* Safari 和 Chrome */

-moz-animation: move 3s alternate infinite /* Firefox */

-o-animation: move 3s alternate infinite /* Opera */

position: absolute

background-color: yellow

width: 100px

height: 100px

}

.box:hover {

-webkit-animation-play-state: paused

}

</style>

</head>

<body>

<div class="box"></div>

</body>

</html>

首先我们要看一下选择器的「解析」是在何时进行的。

主要参考这篇「 How browsers work」(http://taligarsiel.com/Projects/howbrowserswork1.htm)来看,浏览器渲染的过程以 WebKit 为例大致如下:

HTML 经过解析生成 DOM Tree;而在 CSS 解析完毕后,需要将解析的结果与 DOM Tree 的内容一起进行分析建立一棵 Render Tree,最终用来进行绘图。Render Tree 中的元素(WebKit 中称为「renderers」,Firefox 下为「frames」)与 DOM 元素相对应,但非一一对应:一个 DOM 元素可能会对应多个 renderer,如文本折行后,不同的「行」会成为 render tree 种不同的 renderer。也有的 DOM 元素被 Render Tree 完全无视,比如 display:none 的元素。

在建立 Render Tree 时(WebKit 中的「Attachment」过程),浏览器就要为每个 DOM Tree 中的元素根据 CSS 的解析结果(Style Rules)来确定生成怎样的 renderer。对于每个 DOM 元素,必须在所有 Style Rules 中找到符合的 selector 并将对应的规则进行合并。选择器的「解析」实际是在这里执行的,在遍历 DOM Tree 时,从 Style Rules 中去寻找对应的 selector。

因为所有样式规则可能数量很大,而且绝大多数不会匹配到当前的 DOM 元素(因为数量很大所以一般会建立规则索引树),所以有一个快速的方法来判断「这个 selector 不匹配当前元素」就是极其重要的。

如果正向解析,例如「div div p em」,首先就要检查当前元素到 html 的整条路径,找到最上层的 div,再往下找,如果遇到不匹配就必须回到最上层那个 div,往下再去匹配选择器中的第一个 div,回溯若干次才能确定匹配与否,效率很低。

逆向匹配则不同,如果当前的 DOM 元素是 div,而不是 selector 最后的 em,那只要一步就能排除。只有在匹配时,才会不断向上找父节点进行验证。

但因为匹配的情况远远低于不匹配的情况,所以逆向匹配带来的优势是巨大的。同时 也能够看出,在选择器结尾加上「*」就大大降低了这种优势,这也就是很多优化原则提到的尽量避免在选择器末尾添加通配符的原因。