GVKun编程网logo

Web开发学习笔记-css篇(web开发教程)

9

本文的目的是介绍Web开发学习笔记-css篇的详细情况,特别关注web开发教程的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解Web开发学习笔记-css篇的机会,同时

本文的目的是介绍Web开发学习笔记-css篇的详细情况,特别关注web开发教程的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解Web开发学习笔记-css篇的机会,同时也不会遗漏关于Android 开发学习笔记:浅谈 WebView、Android开发学习笔记:浅谈WebView、css 选择器 (学习笔记)_html/css_WEB-ITnose、CSS3 学习笔记_html/css_WEB-ITnose的知识。

本文目录一览:

Web开发学习笔记-css篇(web开发教程)

Web开发学习笔记-css篇(web开发教程)

视频教程地址

CSS样式 -专门用来美化标签的

  1. 体系也很庞大,知识点也很多 后期会学其他模板 来拷贝和改造 就可以省去很多功夫了
    先学核心 学会后才能 去做其他的.
  • 基础CSS,写简单的页面,看懂,可以改别人的
  • 模板 调整和修改
  1. 快速了解
    <img src="..."/> <!--这个就是css样式-->
    <divcolor:red;''>中国联通</div><!--color:red;'' 这个也是css样式-->
    一个标签上 有syle 标签就是在定义样式
  2. CSS的应用方式(三种)
    1. 直接在标签上应用 用的少
      <img src="..."/> <!--这个就是css样式-->
      <divcolor:red;''>中国联通</div><!--color:red;'' 这个也是css样式-->
    2. 在head标签中写style标签 - 给某个样式起个名字c1 如果需要使用在标签中写class''=c1''就把head中的样式应用过去了,用的很多
    <head>
    	<Meta charset="UTF-8">
    	<title>Title学习web开发</title>
    	<style> <!--在这里定义-->
    		.c1{
    			color:red;
    		}
    	</style>
    </head>
    <body>
    	<h1>用户登录</h1> <!--在这里应用,这个用的多 方便复用-->
    </body>
    
    1. 写到文件中 - 适用于写多个html页面,css样式就可以从一个文件中引入,用的也多. 在flask中css文件放在static目录下
    <head>
    	<Meta charset="UTF-8">
    	<title>Title学习web开发</title>
    	<link rel="stylesheet" href="common.css"/> <!--在这里连接文件导入 href的参数是文件地址和文件名-->
    </head>
    <body>
    	<h1>用户登录</h1> <!--在这里应用,使用方法和第二条一样,只是从文件中调用了,优点是  适用于写多个html页面,css样式就可以从一个文件中引入-->
    </body>
    
  3. 案例 flask 中的应用
    HTML代码如下
<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <title>Title学习web开发</title>
    <link rel="stylesheet" href="/static/commons.css"/>  <!--从外部文件引入css样式-->
    <style>
        .c1{
            color:red;
        }
        .c2{
            height:50px; <!--设置高度-->
        }
    </style>
</head>
<body>
<h1>这是一个用head方法引入css标题</h1>
<h1>这是一个用外部文件方法引入css标题</h1>  <!--应用外部文件的css样式-->
<form  method="post", action="/index">
    <div>   <!--用c2设置div高度-->
    用户名: <input type="text" name="user" />
    </div>

    <div>  <!--用c2设置div高度-->
    用户名: <input type="password" name="psw" />
    </div>
    <input type="submit" value="提交" />
</form>
</body>
</html>

css文件位置和内容如下:

image


最终效果如下:

image

tips:pycharm 其实可以直接预览html的效果,可以不用每次都重启flask去查看,方便学习与开发 如下图:

image

  1. css选择器 :

    1. 类选择器 - .c1:定义c1'':调用 这个用的最多
    .c1{
    	color:red;
    }
    <divc1''>xxx<div>
    
    1. c1:ID选择器 - #c1:定义 id''c1'':调用 用的少

    #c1{
    	color:red;
    }
    <div id=''c1''>xxx<div>
    
    1. 标签:标签选择器 - html标签定义 所有标签全部应用 用的较多
    div{
    	color:red;
    }
    <div>xxx<div>
    
    1. 属性选择器 - 通过[]符号 找到相同属性的标签 使用css样式 用的少
    input[type=''text'']{
    	color:red;
    }
    <div>xxx<div>
    

    假设html为:
    <divxx="123">ssss<div>

    .v1[xx=''456'']{
    	color:red;
    }
    
    1. 后代选择器 -先找到类 再找到类下面的标签 去改变 ,不属于此类下面的标签不变. 用的较多

    假设html为:

    <div><div>
    	<ul>
    		<li>1</li>
    		<li>2</li>
    		<li>3</li>
    	</ul>
    

    ```
    .yy li{
    color:red;
    }

    ```<!--用`>`只继承一层 后面的不继承-->
    .yy > li{
    	color:red;
    }
    
  2. 多个样式和覆盖的问题

    1. 可以用多个样式 <div>xxxxxx</div> - 如果不重复两个里面的样式都会应用
    2. 如果重复了,后面的会覆盖前面的.不是调用时候的顺序,是跟定义CSS时候的顺序有关系.
    3. 补充如果就是不想覆盖 这样写 color:red !important; !important表示我非常重要,即使重名也不要覆盖我.比较少用.
  3. css具体的各种样式

    1. 高度和宽度

总结

以上是小编为你收集整理的Web开发学习笔记-css篇全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

原文地址:https://www.cnblogs.com/lrzsl/p/16339144.html

Android 开发学习笔记:浅谈 WebView

Android 开发学习笔记:浅谈 WebView

高春辉、王春生、朱峰:关于开源创业的 15 件小事
WebView (网络视图) 能加载显示网页,可以将其视为一个浏览器。它使用了 WebKit 渲染引擎加载显示网页,实现 WebView 有以下两种不同的方法: 第一种方法的步骤: 1. 在要 Activity 中实例化 WebView 组件:WebView webView = new WebView (this); 2. 调用 WebView 的 loadUrl () 方法,设置 WevView 要显示的网页: 互联网用:webView.loadUrl ("http://www.google.com"); 本地文件用:webView.loadUrl ("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中 3. 调用 Activity 的 setContentView ( ) 方法来显示网页视图 4. 用 WebView 点链接看了很多页以后为了让 WebView 支持回退功能,需要覆盖覆盖 Activity 类的 onKeyDown () 方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用 finish () 而结束自身,而不是回退到上一页面 5. 需要在 AndroidManifest.xml 文件中添加权限,否则会出现 Web page not available 错误。 <uses-permission android:name="android.permission.INTERNET" /> 下面是具体例子: MainActivity.java
  1. package com.android.webview.activity;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.KeyEvent;
  5. import android.webkit.WebView;
  6. public class MainActivity extends Activity {
  7.     private WebView webview;
  8.     @Override
  9.     public void onCreate(Bundle savedInstanceState) {
  10.         super.onCreate(savedInstanceState);
  11.         // 实例化 WebView 对象
  12.         webview = new WebView(this);
  13.         // 设置 WebView 属性,能够执行 Javascript 脚本
  14.         webview.getSettings().setJavaScriptEnabled(true);
  15.         // 加载需要显示的网页
  16.         webview.loadUrl("http://www.51cto.com/");
  17.         // 设置 Web 视图
  18.         setContentView(webview);
  19.     }
  20.     @Override
  21.     // 设置回退
  22.     // 覆盖 Activity 类的 onKeyDown (int keyCoder,KeyEvent event) 方法
  23.     public boolean onKeyDown(int keyCode, KeyEvent event) {
  24.         if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
  25.             webview.goBack (); //goBack () 表示返回 WebView 的上一页面
  26.             return true;
  27.         }
  28.         return false;
  29. }
  在 AndroidManifest.xml 文件中的 17 行添加权限
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.android.webview.activity"
  4. android:versionCode="1"
  5. android:versionName="1.0">
  6. <uses-sdk android:minSdkVersion="10" />
  7. <application android:icon="@drawable/icon" android:label="@string/app_name">
  8. <activity android:name=".MainActivity"
  9. android:label="@string/app_name">
  10. <intent-filter>
  11. <action android:name="android.intent.action.MAIN" />
  12. <category android:name="android.intent.category.LAUNCHER" />
  13. </intent-filter>
  14. </activity>
  15. </application>
  16. <uses-permission android:name="android.permission.INTERNET"/>
  17. </manifest>
  效果图: 第二种方法的步骤: 1、在布局文件中声明 WebView 2、在 Activity 中实例化 WebView 3、调用 WebView 的 loadUrl () 方法,设置 WevView 要显示的网页 4、为了让 WebView 能够响应超链接功能,调用 setWebViewClient () 方法,设置  WebView 视图 5、用 WebView 点链接看了很多页以后为了让 WebView 支持回退功能,需要覆盖覆盖 Activity 类的 onKeyDown () 方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用 finish () 而结束自身,而不是回退到上一页面 6、需要在 AndroidManifest.xml 文件中添加权限,否则出现 Web page not available 错误。 <uses-permission android:name="android.permission.INTERNET"/> 下面是具体的例子: MainActivity.java
  1. package com.android.webview.activity;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.KeyEvent;
  5. import android.webkit.WebView;
  6. import android.webkit.WebViewClient;
  7. public class MainActivity extends Activity {
  8.     private WebView webview;
  9.     @Override
  10.     public void onCreate(Bundle savedInstanceState) {
  11.         super.onCreate(savedInstanceState);
  12.         setContentView(R.layout.main);
  13.         webview = (WebView) findViewById(R.id.webview);
  14.         // 设置 WebView 属性,能够执行 Javascript 脚本
  15.         webview.getSettings().setJavaScriptEnabled(true);
  16.         // 加载需要显示的网页
  17.         webview.loadUrl("http://www.51cto.com/");
  18.         // 设置 Web 视图
  19.         webview.setWebViewClient(new HelloWebViewClient ());
  20.     }
  21.     @Override
  22.     // 设置回退
  23.     // 覆盖 Activity 类的 onKeyDown (int keyCoder,KeyEvent event) 方法
  24.     public boolean onKeyDown(int keyCode, KeyEvent event) {
  25.         if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
  26.             webview.goBack (); //goBack () 表示返回 WebView 的上一页面
  27.             return true;
  28.         }
  29.         return false;
  30.     }
  31.     //Web 视图
  32.     private class HelloWebViewClient extends WebViewClient {
  33.         @Override
  34.         public boolean shouldOverrideUrlLoading(WebView view, String url) {
  35.             view.loadUrl(url);
  36.             return true;
  37.         }
  38.     }
  39. }
main.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:orientation="vertical"
  4.     android:layout_width="fill_parent"
  5.     android:layout_height="fill_parent"
  6.     >
  7.     <WebView
  8.         android:id="@+id/webview"
  9.         android:layout_width="fill_parent"
  10.         android:layout_height="fill_parent"
  11.         />
  12. </LinearLayout>
在 AndroidManifest.xml 文件中的 17 行添加权限
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3.       package="com.android.webview.activity"
  4.       android:versionCode="1"
  5.       android:versionName="1.0">
  6.     <uses-sdk android:minSdkVersion="10" />
  7.     <application android:icon="@drawable/icon" android:label="@string/app_name">
  8.         <activity android:name=".MainActivity"
  9.                   android:label="@string/app_name">
  10.             <intent-filter>
  11.                 <action android:name="android.intent.action.MAIN" />
  12.                 <category android:name="android.intent.category.LAUNCHER" />
  13.             </intent-filter>
  14.         </activity>
  15.     </application>
  16.     <uses-permission android:name="android.permission.INTERNET"/>
  17. </manifest>
效果图:

Android开发学习笔记:浅谈WebView

Android开发学习笔记:浅谈WebView

WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:
第一种方法的步骤:
1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法,设置WevView要显示的网页:
  互联网用:webView.loadUrl("http://www.google.com");
  本地文件用:webView.loadUrl("file:///android_asset/XX.html"); 本地文件存放在:assets 文件中
3.调用Activity的setContentView( )方法来显示网页视图
4.用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
5.需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
  <uses-permission android:name="android.permission.INTERNET" />
下面是具体例子:
MainActivity.java

package com.android.webview.activity; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
 
public class MainActivity extends Activity { 
    private WebView webview; 
    @Override
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        //实例化WebView对象 
        webview = new WebView(this); 
        //设置WebView属性,能够执行Javascript脚本 
        webview.getSettings().setJavaScriptEnabled(true); 
        //加载需要显示的网页 
        webview.loadUrl("http://www.51cto.com/"); 
        //设置Web视图 
        setContentView(webview); 
    } 
     
    @Override
    //设置回退 
    //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 
            webview.goBack(); //goBack()表示返回WebView的上一页面 
            return true; 
        } 
        return false; 
}

在AndroidManifest.xml文件中的17行添加权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.webview.activity"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />
 
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

效果图:

第二种方法的步骤:
1、在布局文件中声明WebView
2、在Activity中实例化WebView
3、调用WebView的loadUrl( )方法,设置WevView要显示的网页
4、为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置  WebView视图
5、用WebView点链接看了很多页以后为了让WebView支持回退功能,需要覆盖覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击系统回退剪键,整个浏览器会调用finish()而结束自身,而不是回退到上一页面
6、需要在AndroidManifest.xml文件中添加权限,否则出现Web page not available错误。
<uses-permission android:name="android.permission.INTERNET"/>
 下面是具体的例子:
MainActivity.java

package com.android.webview.activity; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
 
public class MainActivity extends Activity { 
    private WebView webview; 
    @Override
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        webview = (WebView) findViewById(R.id.webview); 
        //设置WebView属性,能够执行Javascript脚本 
        webview.getSettings().setJavaScriptEnabled(true); 
        //加载需要显示的网页 
        webview.loadUrl("http://www.51cto.com/"); 
        //设置Web视图 
        webview.setWebViewClient(new HelloWebViewClient ()); 
    } 
     
    @Override
    //设置回退 
    //覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { 
            webview.goBack(); //goBack()表示返回WebView的上一页面 
            return true; 
        } 
        return false; 
    } 
     
    //Web视图 
    private class HelloWebViewClient extends WebViewClient { 
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) { 
            view.loadUrl(url); 
            return true; 
        } 
    } 
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >   
    <WebView  
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />
</LinearLayout>

在AndroidManifest.xml文件中的17行添加权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.webview.activity"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="10" />
 
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".MainActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

效果图:

本文出自 “IT的点点滴滴” 博客

css 选择器 (学习笔记)_html/css_WEB-ITnose

css 选择器 (学习笔记)_html/css_WEB-ITnose

参考 http://zachary-guo.iteye.com/blog/605116

1. div+p  选择紧接在

元素之后的所有

元素。
解释 : find p , p.prev = div 就ok! 

2. [class~=flower] 选择 title 属性包含单词 "flower" 的所有元素。
解释 : 注意是单词哦abc这个算一个单词 

 3. [lang|=en] 选择 lang 属性值以 "en" 开头的所有元素。
解释 : 注意所谓的开头一定要用 - 做分隔符 ,ok,fail
            
4. [src^="https"] 
解释 : 属性 str 开头是 https , 这个可以匹配 httpsss 也行不像 |

5. [src$=".pdf"] 
解释 : $是后面,和 ^ 相反,跟正则一样理解

6. [src*=ggc]
解释 : 只要有ggc就中,像sql 的like %ggc%

4.p:first-child 选择属于父元素的第一个子元素的每个

元素。
解释 : elem has any parent , elem is first child , elem is p . 3个condition true 就 ok       
note : 这个和 p:nth-child(1) 是一样的 
区别 nth-of-type 和  nth-of-child
这两者的差异用一个跟切合实际的情况比喻就是计划生育查人口:nth-of-child是如果是第二胎,且是女孩,罚款!nth-of-type是管他第几胎,第二个出身的女孩,罚款!

nth-of-type(2n+1) 算法,n就代表每一个row,从0,1,2... 2n+1 就是 2*0+1, 2*1+1, 2*2+1 ...普通乘法和加法来的,那么每一次算出答案后就让那个答案亮灯咯 
5.p:nth-of-type(5) 
解释 : eq(4) 选中第5个

6.p:nth-of-type(n+3) ||  p:nth-last-of-type(-n+3) 后面算起 child 也是有
解释 : >=3

7.p:nth-of-type(-n+3)
解释 :
8. p:nth-of-type(odd/even)
解释 : 单数 , 双数

9.p:nth-of-type(3n+2)
解释 : 一开始n是0 算一 +2 可以表示为其实点 . 从第2个拿起,3*n就是3的倍数,所以可以表示为每3个亮一个灯咯, 整句就是从第2个开始,每3个亮1个(起点2也亮哦)

10. p:nth-of-type(n+3):nth-of-type(-n+5) 
解释 : between 3-5 (3和5都算) , 原理是filter2 次咯

CSS3 学习笔记_html/css_WEB-ITnose

CSS3 学习笔记_html/css_WEB-ITnose

border-radius

圆角是做网页永远绕不过的话题,以前基本是通过背景图片做的,有了 css3 以后通过属性就 能够搞定,我们可以通过 border-radius 设置元素的圆角半径。

border-radius: 5px;
登录后复制

对于一个正方形,我们只需要设置为边长的一半就可以呈现一个圆。

div {    width: 200px;    height: 200px;    border-radius: 50%; // 设置百分比    border-radius: 100px; // 设置长度一半}
登录后复制

代码

border-radius 是缩写的格式,其实 border-radius 和 border 属性一样,还可以把各个角单独拆分出来,也就是以下四种写法

border-top-left-radius: length, length;border-top-right-radius: length, length;border-bottom-left-radius: length, length;border-bottom-right-radius: length, length;
登录后复制

第一个值是圆角水平半径,第二个值是垂直半径,如果第二个值省略,那么其等于第一个值,这时这个角就是一个四分之一的圆角,如果任意一个值为0,那么这个角就不是圆角

立即学习“前端免费学习笔记(深入)”;

box-shadow

CSS3 原生支持了阴影效果

box-shadow:inset h-shadow v-shadow blur-radius spread-radius color
登录后复制

box-shadow 属性至多有6个参数设置:

  1. 阴影类型:此参数是一个可选值,如果不设值,其默认的投影方式是外阴影;如果取其唯一值inset,就是将外阴影变成内阴影

  2. h-shadow: 是指阴影水平偏移量其值可以是正负值可以取正负值,如果值为正值,则阴影在对象的右边,反之其值为负值时,阴影在对象的左边

  3. v-shadow: 是指阴影的垂直偏移量,其值也可以是正负值,如果为正值,阴影在对象的底部,反之其值为负值时,阴影在对象的顶部

  4. 阴影模糊距离:此参数是可选,,但其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊

  5. 阴影阴影的尺寸:此参数可选,其值可以是正负值,如果值为正,则整个阴影都延展扩大,反之值为负值是,则缩小

  6. 阴影颜色:此参数可选,如果不设定任何颜色时,浏览器会取默认色,但各浏览器默认色不一样

box-shadow 可以使用一个或多个投影,如果使用多个投影时必须需要用逗号,分开

box-shadow: 3px 3px 3px orange, 3px 3px 3px red;
登录后复制

box-sizing

这个属性多少和边框也相关,传统的盒模型width就是指内容区域宽度,和padding、border没有关系,但是这在布局上带来一定的困难

box-sizing 可以改变盒模型

  1. content-box:标准盒模型
  2. border-box:
    width = padding-left + padding-right + border-left-width + border-right-width + content width
    height = padding-top + padding-bottom + border-top-width + border-bottom-width + content height
div {    width: 100px; // width 包含了左右padding的宽度 + 左右border的宽度    height: 100px; // height 包含了上下padding的宽度 + 上下border的宽度    padding: 20px;    border: 1px solid #000;    box-sizing: border-box;}
登录后复制

代码

text-overflow

  1. clip:隐藏超出文本
  2. ellipsis:显示省略符号来代表被修剪的文本。

对于省略号效果还需要其它属性配合

p {    width: 100px;    overflow: hidden;    white-space: nowrap;    text-overflow: ellipsis;}
登录后复制

担心会有人提问上面的代码只能在第一行显示省略号,假如我想在第二行或者第三行显示怎么办呢?

代码

原理就是通过伪元素 ::after 来实现是不是非常的 easy。

过渡和动画

CSS3 的动画是浏览器原生支持的,好处就是流畅

transition(过渡)

在CSS3引入 transition 之前css没有时间轴,所有的状态变化都是瞬间完成。

transition 的作用在于,指定状态变化所需要的时间

div {    width: 100px;    height: 100px;    border: 1px solid #000;    background-color: #000;    transition: all 1s;}div:hover {    width: 200px;    height: 200px;}
登录后复制

代码

指定属性

我们还可以指定transition适用的属性

div {    transition: 1.5s width;}
登录后复制

完整代码

这样一来,只有height的变化需要1秒实现,其他变化(主要是width)依然瞬间实现。

在同一行transition语句中,可以分别指定多个属性

div {    transition: 1.5s width, 1s height;}
登录后复制

代码

delay

delay:中文翻译延迟,顾名思义就是延迟多长时间在执行状态变化。

需要注意的是 delay的参数是在时间的后面

div {    transition: 状态完成时间 height, 状态完成时间 延迟时间(delay) width;}
登录后复制
div {    transition: 2s height, 0.5s 2s width;}
登录后复制

完整代码

delay的真正意义在于,它指定了动画发生的顺序,使得多个不同的transition可以连在一起,形成复杂效果

transition-timing-function

transition的状态变化速度(又称timing function),默认不是匀速的,而是逐渐放慢,这叫做ease

div {    transition: 1s ease;}
登录后复制

除了ease以外,其他模式还包括

  • linear:匀速
  • ease-in:加速
  • ease-out:减速
  • ease-in-out:规定以慢速开始和结束的过渡效果
  • cubic-bezier函数:自定义速度模式 链接
  • 注意事项

    1. 目前,各大浏览器(包括IE 10)都已经支持无前缀的transition,所以transition已经可以很安全地不加浏览器前缀 transition兼容性
    2. transition需要明确知道,开始状态和结束状态的具体数值,才能计算出中间状态,什么none到block之类的是不行的
    3. transition是一次性的,不能重复发生,除非一再触发。

    今天关于Web开发学习笔记-css篇web开发教程的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android 开发学习笔记:浅谈 WebView、Android开发学习笔记:浅谈WebView、css 选择器 (学习笔记)_html/css_WEB-ITnose、CSS3 学习笔记_html/css_WEB-ITnose的相关知识,请在本站搜索。

    本文标签: