목차
垂直导航栏
水平导航栏
对水平导航栏使用浮动
CSS式的预载替换法
给特殊的链接类型定义样式
1、rotate(旋转)
2、scale(缩放)
3、translate(平移)
4、skew(倾斜)
5、origin
transition
添加transition
给transition定时
延时启动transition
transition快捷方法
animation
定义关键帧
应用animation
给animation定时
完成animation
使用animation快捷方式
暂停animation
创建边框
控制表格单元之间的空格
消除双边框
圆角
给表单定义样式
网页布局类型
HTML5的分区元素
CSS布局方法
布局策略
웹 프론트엔드 HTML 튜토리얼 CSS3秘笈第三版涵盖HTML5学习笔记9~12章_html/css_WEB-ITnose

CSS3秘笈第三版涵盖HTML5学习笔记9~12章_html/css_WEB-ITnose

Jun 24, 2016 am 11:22 AM

第9章,装饰网站导航

限制访问,处于隐私方面考虑,浏览器已经开始限制可以对伪类:visited应用哪些CSS属性了。其中包括对已访问过的链接定义color、background-color、border-color等样式(除非已经为那些链接的正常状态定义了颜、背景色和边框色)

对于标签可以对所有不同的访问状态设置样式,但要让样式有效,必须以特定的顺序指定链接:link、visited、hover、active

CSS3按钮生成器: http://css3button.net

CSS3按钮优秀示例: http://hellohappy.org/css3-buttons/和 http://webdesignerwall.com/tutorials/css3-gradient-buttons

垂直导航栏

1、把链接当成块显示

2、限制按钮宽度

水平导航栏

方法1、使用display:inline-block属性,但是会在按钮之间留下一条小缝隙。

消除空格方法1:把上一个与下一个

  • 放同一行,不过,代码都不这样写

    <ul>   <li><a href="#">one</a></li><li>   <a href="#">two</a></li><li>   <a href="#">three</a></li></ul>
    로그인 후 복사

    效果:

    消除空格方法2:对项目列表添加负值的right margin,不过不同的文本长度,会使这个值不同,需要去实验

        <style type="text/css">        li {            display: inline-block;            border: 1px solid #999;            margin-right: -9px;        }    </style>
    로그인 후 복사

    效果:

    对水平导航栏使用浮动

    1、浮动列表项目

    2、为链接添加display:block

    3、给链接定义样式

    4、添加一个宽度

    5、在

      标签样式中添加overflow:hidden

      关于创建导航栏方面的帮助

      将普通列表变成非凡导航元素: http://css.maxdesign.com.au/listutorial/

      基于列表的导航设计教程: http://css.maxdesign.com.au/listamatic/

      不想费力自己创建可以试试List-O-Matic向导: www.accessify.com/tools-and-wizards/developer-tools/list-o-matic

      CSS式的预载替换法

      使用CSS可以很简单的给图形链接在鼠标经过时变成另一张图片,不过有个问题,除非已下载了图片,否则浏览器在接收和显示新图片时会有一个很明显的延迟,为避免延迟,可以采用CSS精灵(CSS Sprites),可以用一张图片创建不同的按钮状态

      1、使用图片编辑软件创建带有不同按钮版本的图片

      2、测量从整张图片顶部到每张图片顶部之间的距离

      3、给普通的链接创建一个CSS样式

      4、创建:hover样式

      给特殊的链接类型定义样式

      使用属性选择器

      a[href^='http://']

      第10章,CSS的transform、transition和animation属性

      transform(变形)

      CSS3引入了几个可以对网页元素进行变换的属性,比如对它进行旋转、缩放、移动,或者沿着它的水平方向或垂直方向扭曲(斜切变换)

      IE9,Safari,Chrome,Firefox,Opera支持2D变换,IE8及更早不支持,transform需要使用供应商前缀

      transform功能:

      1、rotate(旋转)

      .testClass{    transform:rotate(20deg);          /* 提供一个0~360的度数值,正值顺时针方向旋转,负值逆时针 */}
      로그인 후 복사

      2、scale(缩放)

      .testClass{    transform:scale(2);                    /* 接受单个参数:放大或缩小,0~1之间的数是缩小,大于1的数是放大,负数会将元素倒过来缩放 */    transform:scale(x,y);                  /* 接受两个参数:第一个表示水平缩放,第二个表示垂直缩放 *//*单方向缩放:*/    transform:scaleX(num);/*沿X轴缩放*/    transform:scaleY(num);/*沿Y轴缩放*/}
      로그인 후 복사

      3、translate(平移)

      transform的translate函数只是将一个元素从它现有位置向左或向右以及向上或向下移动一定距离

      translate函数有两个值:第一个指定水平距离(正数向右移,负数向左),第二个指定垂直距离(正数向下,负数向上)

      还可以单方向使用:translateX水平方向,translateY垂直方向

      都可以使用pixel,em以及percentage值

      4、skew(倾斜)

      .testClass{    transform:skew(45deg,0);          /* 第一个指沿X轴倾斜(正数向左倾斜<从元素上方沿逆时针进行>,负数向右),*/                 /*第二个指沿Y轴倾斜(正数往右边向下<沿顺时针从元素右侧进行>,负数往左边向下),这个理解不够,表达不明白 */}
      로그인 후 복사

      多个函数共用:

      .testClass{    transform:skew(45deg,0deg) scale(.5) translate(400px,500px) rotate(90deg);}
      로그인 후 복사

      这些函数的应用顺序就是浏览器应用这些效果的顺序

      5、origin

      一般来说,都是相对于元素的中心作变换点,但CSS3允许使用transform-origin属性,改变这个点,与background-position属性一样,可以提供关键字、pixel为单位的绝对值、em和percentage为单位的相对值

      transform-origin:left top;

      transform-origin:0 0;

      transform-origin:0% 0%;

      transform-origin:right bottom ==> transform-origin:100% 100%

      第一个指水平,第二个指垂直

      3D变形,CSS3还提供了一种更加复杂的变换类型:3D变形(3D transform)

      transition

      实际上是在一定时间内,一组CSS属性变换到另一组属性的动画展示过程。

      为了使transition生效,需要做以下几件事:
      1、两个样式,一个开始,一个结束

      2、transition属性。CSS3新增,使动画成为可能的秘诀所在。一般应用到最初开始的样式中

      3、触发器

      浏览器无法以动画形式模拟所有CSS属性,但还是有很多可选择。具体请看: www.w3.org/TR/css3-transitions/#animatable-properties

      添加transition

      .navButton{     background-color:orange;     transition-property:background-color;     transition-duration:1s;}.navButton:hover{     background-color:blue;}
      로그인 후 복사

      transition-property用于定义要以动画显示哪些属性,可以指定一个或多个,也可以使用all关键字。

      transition-duration用于定义动画要持续多久结束,可以使用秒或毫秒作单位transition-duration:.5s,transition-duration:500ms

      还可以针对每个需要动画展示的属性分别定义时限:

      .testClass{    transition-property:color,background-color,border-color;    transition-duration:.5s,.75s,2s;}
      로그인 후 복사

      时间与属性是一一对应的

      注:必须提供供应商前缀,并不需要提供IE供应商前缀,IE9及之前不支持,IE10可支持前缀版本

      给transition定时

      transition-timing-function属性可控制动画速度。并不是控制动画时间长短,而是控制动画期间的速度。可以使用关键字:linear、ease、ease-in、ease-out、ease-in-out,浏览器默认以ease方法。

      还可以使用cubic-bezier值。Bezier曲线。

      .testClass{     transition-timing-function:cubic-bezier(.20,.96,.74,.07);}
      로그인 후 복사

      可以使用在线工具创建和测试不同的定时函数,Mathew Lein的Ceasar工具就是其中之一: http://matthewlein.com/ceaser/

      延时启动transition

      利用transition-delay属性阻止立即开始动画。

      需要使用供应商前缀:

      .testClass{    -webkit-transition-delay: .5s;    -moz-transition-delay: .5s;    -o-transition-delay: .5s;    -ms-transition-delay: .5s;    transition-delay: .5s;}
      로그인 후 복사

      在使用CSS下拉菜单时,如果不小心让鼠标离开了菜单,则下拉菜单很快就消失了,可以使用如下做法:
      在初始样式添加:transition-delay: 5s;

      在:hover样式添加:transition-delay: 0;

      这么做不合常理就是了

      注:js改动CSS属性,也会启动transition

      transition快捷方法

      使用transition属性。只需要列出属性、延时时间、定时函数,并用空格分开即可。

      .testClass{    transition:all 1s ease-in .4s;}
      로그인 후 복사

      还可以分开定义多个,只需要逗号分隔:

      .testClass{    transition:color 1s,background-color .5s 1s;}
      로그인 후 복사

      需要提供供应商前缀

      animation

      创建动画

      1、定义动画,包括创建关键帧,即列出要创建动画的CSS属性

      2、将动画应用到元素上,可以应用给任意数量的元素

      定义关键帧

      @keyframes animationName{    from{        /*  list   CSS   properties   here   */    }    to{        /*   list   CSS    properties   here   */    }}
      로그인 후 복사

      @keyframes并不是CSS属性,应该称之为at规则,CSS其他at规则还包括@import,@media

      还可以使用多个百分比定义多个关键帧:

      @keyframes backgroundGlow{    from{        backgorund-color:yellow;    }    50%{        background-color:blue;    }    to{        background-color:red;    }}
      로그인 후 복사

      以上表示,蓝色背景会在动画进行到50%时出现,可以用0%代替from关键字,100%代替to关键字

      还可以这么设置:

      @keyframes glow{    from{        backgorund-color:yellow;    }    25%,75%{        background-color:blue;    }    to{        background-color:red;    }}
      로그인 후 복사

      表示在动画进行25%-75%之间要显示持续显示蓝色背景

      还有这个:

      @keyframes glow{    from{        backgorund-color:yellow;    }    20%,60%{        background-color:blue;    }    40%,80%{        background-color:orange;    }    to{        background-color:red;    }}
      로그인 후 복사

      表示在20%显示blue,在40%显示orange,在60%显示blue,在80%显示orange,跳来跳去

      CSS3 animation一大缺点:需要特定的供应商前缀:

      @-webkit-keyframes fadeIn{    from{        opacity:0;    }    to{        opacity:1;    }}@-moz-keyframes fadeIn{    from{        opacity:0;    }    to{        opacity:1;    }}@-o-keyframes fadeIn{    from{        opacity:0;    }    to{        opacity:1;    }}@keyframes fadeIn{    from{        opacity:0;    }    to{        opacity:1;    }}
      로그인 후 복사

      注:不需要为IE提供,IE9及更早版本不支持,IE10支持无供应商前缀版本

      应用animation

      可以给元素的任何样式添加动画,也可以给伪类应用动画,js改动也会启动动画

      1、用@keyframes规则创建淡入动画:

      @keyframes fadeIn{    from{    opacity: 0;    }    to{    opacity: 1;    }}
      로그인 후 복사

      2、将动画应用给

      标签的样式:

      .announcement{    animation-name: fadeIn;          /*设置动画名称,前面创建的*/    animation-duration: 1s;          /* 设置动画从开始到结束所花时间 */}
      로그인 후 복사

      可以将非动画属性也一起放入样式中

      animation-name,animation-duration也需要使用供应商前缀

      给animation定时

      使用animation-duration定时,可以像transition一样定义多个,只要用逗号分开,一一对应。

      使用animation-timing-function函数控制整个动画或特定关键帧,可以使用Cubic Bezier曲线也可以使用关键字,关键字与transition-timing-function函数关键字一样(linear、ease、ease-in、ease-out、ease-in-out)

      定义了多个关键帧,还可以在关键帧之间应用不同的函数:

      @keyframes growAndGlow{    from{        background-color: yellow;        animation-timing-function: cubic-bezier(1, .3, 1, .115);    }    50%{        transform:scale(1.5);        background-color:blue;        animation-timing-function: linear;    }    to{        transform:scale(3);        background-color: red;    }}
      로그인 후 복사

      还可以使用延时启动:animation-delay可以设置等待时间,与transition-delay属性一样。

      完成animation

      使用animation-iteration-count可以设置动画运行的次数。使用infinite可以不限次数的运行下去

      为了使一个动画在奇数次时超前运行,在偶数次时反向运行,可以使用animation-direction属性和关键字alternate。

      为了让一个动画在运行后回归最初的状态,可以使用偶数迭代次数,并将animation-direction设为alternate

      可以使用animation-fill-mode:forwards;将动画固定在最后的样子,以免使得web浏览器在动画结束时,将元素突兀的变回初始状态

      使用animation快捷方式

      .fade{    animation-name: fadeOut;    animation-duration: 2s;    animation-timing-function: ease-in-out;    animation-iteration-count: 2;    animation-direction: alternate;    animation-delay: 5s;    animation-fill-mode: forwards;}
      로그인 후 복사

      改写:

      .fade{    animation : fadeOut 2s ease-in-out 2 alternate 5s forwards;}
      로그인 후 복사

      只有名称和持续时间是必要的,其他都是可选,应用多个动画,只需每个动画用逗号隔开即可。

      .fade{    animation : fadeOut 2s ease-in-out 2 alternate 5s forwards,                glow 5s;}
      로그인 후 복사

      实际应用还需给定供应商前缀:

      .fade{    -webkit-animation : fadeOut 2s ease-in-out 2 alternate 5s forwards,                        glow 5s;    -moz-animation : fadeOut 2s ease-in-out 2 alternate 5s forwards,                     glow 5s;    -o-animation : fadeOut 2s ease-in-out 2 alternate 5s forwards,                   glow 5s;    animation : fadeOut 2s ease-in-out 2 alternate 5s forwards,                glow 5s;}
      로그인 후 복사

      暂停animation

      使用animation-play-state属性,只接受两个关键字:running、paused,要暂停只需这样:animation-play-state:paused;但,在使用CSS时只有一种方法可以应用它,那就是伪类。

      第11章,表格和表单格式化

      使用text-align和vertical-align调整垂直对齐和水平对齐

      text-align接受:left、right、center、justify四个值,可继承

      vertical-align接受:top、baseline、middle、bottom四个值,不可继承,top:把内容推到表格单元顶部;middle:让内容居中;bottom:把内容底边推到单元格底部;baseline(基准线)作用和top类似,不过基本看不出来baseline有啥作用。

      创建边框

      标签中设置border时,只会给表格添加边框,并不会给单元格添加,当给单元格设置border时,将会在单元格之间留下一个间隙

      控制表格单元之间的空格

      CSS提供了border-spacing属性用来控制表格单元之间的空隙。

      消除双边框

      即使消除了间隙,表格单元的边框也会变成双边框。使用border-collapse属性,接受两个值:spearate(默认显示方式)、collapse(消除单元间隔和边框)

      注:如果将border-collapse设置为collapse,border-spacing将不起作用

      圆角

      利用border-radius可以给表格单元(而不是表格本身)添加圆角。

      还可以给表格和表格单元应用box-shadow属性。

      可以使用nth-of-type选择器,给表格奇数行和偶数行添加不同的样式。

      注:浏览器通常会显示出空白表格单元的边框和背景色,若要隐藏可以使用empty-cells:hide:

      table{     empty-cells:hide;}
      로그인 후 복사

      但,如果border-collapse设为collapse,则浏览器忽略empty-cells属性,依然显示空白单元格边框和背景色

      给表单定义样式

      HTML表单元素

      1、fieldset,

      标签用来集中相关表单问题

      2、legend,标签就在

      标签的HTML代码之后,它给一组域提供一个标签

      3、text fields(文本域)

      4、buttons(按钮),表单按钮:提交,重置或其他动作

      5、drop-down menus(下拉菜单),

      6、checkbox(复选框)和radio button(单选按钮)

      第三部分----CSS页面布局 第12章,CSS布局简介

      网页布局类型

      1、固定宽度,参看 www.alistapart.com, www.espn.go.com, www.nytimes.com

      2、流式布局,参看 http://maps.google.com

      3、响应式Web设计(Responsive Web Desin,RWD)

      HTML5的分区元素

      标签用于组成一个自包含结构的内容,例如一篇博客文章。

      标签用于给网页或者网页的分区提供标题、导航目标以及其他介绍性材料

      标签用于包含版权声明、网站创始人的名字、网页的发布日期等等

      CSS布局方法

      绝大多数网页均采用CSS的float属性进行布局

      布局策略

      1、从内容入手

      2、Mobile First(移动设备优先)

      3、先设计草图

      Yahoo提供了一个免费的Stencil Kit( http://developer.yahoo.com/ypatterns/wireframes),可在Illustrator、Visio、OmniGraffle以及其他图形处理软件中使用它来创建网页草图

      4、找出方框

      5、顺应页面流

      6、记住背景图片的使用

      7、拼图中的小部件

      8、给元素设计层次

      9、margin和padding的使用

      본 웹사이트의 성명
      본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

      핫 AI 도구

      Undresser.AI Undress

      Undresser.AI Undress

      사실적인 누드 사진을 만들기 위한 AI 기반 앱

      AI Clothes Remover

      AI Clothes Remover

      사진에서 옷을 제거하는 온라인 AI 도구입니다.

      Undress AI Tool

      Undress AI Tool

      무료로 이미지를 벗다

      Clothoff.io

      Clothoff.io

      AI 옷 제거제

      Video Face Swap

      Video Face Swap

      완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

      인기 기사

      <gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
      3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
      Nordhold : Fusion System, 설명
      4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
      Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
      3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

      뜨거운 도구

      메모장++7.3.1

      메모장++7.3.1

      사용하기 쉬운 무료 코드 편집기

      SublimeText3 중국어 버전

      SublimeText3 중국어 버전

      중국어 버전, 사용하기 매우 쉽습니다.

      스튜디오 13.0.1 보내기

      스튜디오 13.0.1 보내기

      강력한 PHP 통합 개발 환경

      드림위버 CS6

      드림위버 CS6

      시각적 웹 개발 도구

      SublimeText3 Mac 버전

      SublimeText3 Mac 버전

      신 수준의 코드 편집 소프트웨어(SublimeText3)

      HTML : 구조, CSS : 스타일, 자바 스크립트 : 동작 HTML : 구조, CSS : 스타일, 자바 스크립트 : 동작 Apr 18, 2025 am 12:09 AM

      웹 개발에서 HTML, CSS 및 JavaScript의 역할은 다음과 같습니다. 1. HTML은 웹 페이지 구조를 정의하고, 2. CSS는 웹 페이지 스타일을 제어하고 3. JavaScript는 동적 동작을 추가합니다. 그들은 함께 현대 웹 사이트의 프레임 워크, 미학 및 상호 작용을 구축합니다.

      HTML, CSS 및 JavaScript의 미래 : 웹 개발 동향 HTML, CSS 및 JavaScript의 미래 : 웹 개발 동향 Apr 19, 2025 am 12:02 AM

      HTML의 미래 트렌드는 의미론 및 웹 구성 요소이며 CSS의 미래 트렌드는 CSS-In-JS 및 CSShoudini이며, JavaScript의 미래 트렌드는 WebAssembly 및 서버리스입니다. 1. HTML 시맨틱은 접근성과 SEO 효과를 향상시키고 웹 구성 요소는 개발 효율성을 향상 시키지만 브라우저 호환성에주의를 기울여야합니다. 2. CSS-in-JS는 스타일 관리 유연성을 향상 시키지만 파일 크기를 증가시킬 수 있습니다. CSShoudini는 CSS 렌더링의 직접 작동을 허용합니다. 3. Webosembly는 브라우저 애플리케이션 성능을 최적화하지만 가파른 학습 곡선을 가지고 있으며 서버리스는 개발을 단순화하지만 콜드 스타트 ​​문제의 최적화가 필요합니다.

      HTML의 미래 : 웹 디자인의 진화 및 트렌드 HTML의 미래 : 웹 디자인의 진화 및 트렌드 Apr 17, 2025 am 12:12 AM

      HTML의 미래는 무한한 가능성으로 가득합니다. 1) 새로운 기능과 표준에는 더 많은 의미 론적 태그와 WebComponents의 인기가 포함됩니다. 2) 웹 디자인 트렌드는 반응적이고 접근 가능한 디자인을 향해 계속 발전 할 것입니다. 3) 성능 최적화는 반응 형 이미지 로딩 및 게으른로드 기술을 통해 사용자 경험을 향상시킬 것입니다.

      HTML : 웹 페이지 구조 구축 HTML : 웹 페이지 구조 구축 Apr 14, 2025 am 12:14 AM

      HTML은 웹 페이지 구조를 구축하는 초석입니다. 1. HTML은 컨텐츠 구조와 의미론 및 사용 등을 정의합니다. 태그. 2. SEO 효과를 향상시키기 위해 시맨틱 마커 등을 제공합니다. 3. 태그를 통한 사용자 상호 작용을 실현하려면 형식 검증에주의를 기울이십시오. 4. 자바 스크립트와 결합하여 동적 효과를 달성하기 위해 고급 요소를 사용하십시오. 5. 일반적인 오류에는 탈수 된 레이블과 인용되지 않은 속성 값이 포함되며 검증 도구가 필요합니다. 6. 최적화 전략에는 HTTP 요청 감소, HTML 압축, 시맨틱 태그 사용 등이 포함됩니다.

      HTML vs. CSS vs. JavaScript : 비교 개요 HTML vs. CSS vs. JavaScript : 비교 개요 Apr 16, 2025 am 12:04 AM

      웹 개발에서 HTML, CSS 및 JavaScript의 역할은 다음과 같습니다. HTML은 컨텐츠 구조를 담당하고 CSS는 스타일을 담당하며 JavaScript는 동적 동작을 담당합니다. 1. HTML은 태그를 통해 웹 페이지 구조와 컨텐츠를 정의하여 의미를 보장합니다. 2. CSS는 선택기와 속성을 통해 웹 페이지 스타일을 제어하여 아름답고 읽기 쉽게 만듭니다. 3. JavaScript는 스크립트를 통해 웹 페이지 동작을 제어하여 동적 및 대화식 기능을 달성합니다.

      HTML vs. CSS 및 JavaScript : 웹 기술 비교 HTML vs. CSS 및 JavaScript : 웹 기술 비교 Apr 23, 2025 am 12:05 AM

      HTML, CSS 및 JavaScript는 최신 웹 페이지를 구축하기위한 핵심 기술입니다. 1. HTML 웹 페이지 구조를 정의합니다. 2. CSS는 웹 페이지의 모양을 담당합니다.

      HTML : 프로그래밍 언어입니까 아니면 다른 것입니까? HTML : 프로그래밍 언어입니까 아니면 다른 것입니까? Apr 15, 2025 am 12:13 AM

      Htmlisnotaprogramminglanguage; itisamarkuplanguage.1) htmlstructuresandformatswebcontentusingtags.2) itworksporstylingandjavaScriptOfforIncincivity, WebDevelopment 향상.

      & lt; strong & gt;, & lt; b & gt; 태그 및 & lt; em & gt;, & lt; i & gt; 태그? & lt; strong & gt;, & lt; b & gt; 태그 및 & lt; em & gt;, & lt; i & gt; 태그? Apr 28, 2025 pm 05:42 PM

      이 기사는 HTML 태그, 등의 차이점과 시맨틱 대 프리젠 테이션 사용 및 SEO 및 접근성에 미치는 영향에 중점을 둡니다.

      See all articles