목차
这是测试
웹 프론트엔드 HTML 튜토리얼 CSS+DIV概念和细节 (copy)_html/css_WEB-ITnose

CSS+DIV概念和细节 (copy)_html/css_WEB-ITnose

Jun 24, 2016 pm 12:33 PM

 

http://www.cnblogs.com/xiaofu/articles/1614386.html

一、盒子模型

       1.盒子内部结构

       (1)一个盒子实际所占的宽度是由“内容+内边距+边框+外边距”组成。CSS中通过设置width和height来控件盒子大小。

       2.边框

       (1)当有多条规则作用于一个边框时,会产生冲突,后面的设置覆盖前面的设置,这对于任何属性是一样的。

       3.内边距

       (1)当一个盒子设置背景图象后,默认情况下背景覆盖的范围是“padding+内容“组成的范围,并以padding左上角为基准点平铺图像。

       4.外边距

       (1)body是一个特殊点,它的背景色会延伸到margin部分,而其它盒子的背景色只覆盖”padding+内容”(IE浏览器)或”padding+内容+边框”(FF浏览器)。

二、盒子的浮动和定位

       1.盒子之间的关系

       (1)标准流

              就是不使用其它的与排列和定位相关的特殊CSS规则时,各种元素的规则。

       (2)块级元素

              它们总是以一个块的形式表现出来,并且跟同级兄弟依次竖直排列,左右撑满。

       (3)行内元素

              本身不占有独立的区域,仅仅是在其它元素的基上指出了一定的范围。

       2.盒子在标准流中的定位

       (1)行内元素之间的距离:为第一个元素的margin-right和第二元素的margin-left之和。

       (2)块级元素之间的距离:是margin-top或margin-bottom之中的最大者。

       3.浮动和定位

       (1)一个块级元素的范围是由它里面的标准流内容决定的,与里面的浮动内容无关,也即把其中的子元素浮动后,它就不再属于父块,不再属于标准流了。注意:两个块级原素中,第一个块级元素浮动时,后面的块级元素的内容会环绕它,但若是第二个块级元素浮动时,第一个元素是没有任何变化的,即不会去环绕第二个浮动的块级元素的!!多块情况类似的。

       (2)相对定位结论

              使用相对定位的盒子,会相对于它原来的位置,通过偏移指定的距离,到达新位置。

              使用相对定位的盒子仍在标准流中,它对父块和兄弟盒子没有任何影响,它的原位置不会被其它块补填。

       (3)绝对定位的结论

              使用绝对定位的盒子会以它的“最近”的一个“已经定位”的“祖先元素”为基准进行偏移。如果没有已经定位的祖先元素,那么会以浏览器窗口为基准进行定位。

              绝对定位的盒子从标准流中脱离,这意味着它们对其后的兄弟的定位没有影响。但是其兄弟盒子会填充它原来的位置,就像它不存在一样。

       4.当块的高度值小于子块的高度加上margin的值时,此时IE会自动扩大,保持子元素的margin-bottom的空间以及父元素自身的padding-bottom。而FF不会,它会保证父元素的height高度的完全吻合,而这时子元素将超过父元素范围。

       5.z-index属性用于调整定位时重叠块的上下位置,z-index大的页面位于其值小的上方。默认值为0。当两个块的z-index值一样时,将保持原有的高低覆盖关系。

       6.display的属性改变一个元素是块级(block)还是行内(inline)元素,抑或不显示此元素(none);

三、文字与图像

       1.文字大小(font-size)

       (1)长度单位

              1em表示的长度是其父元素中字母m的标准宽度,1ex则表示父元素中字母x的标准高度。当父元素变化时,使用这两个单位的子元素的大小会同比例变化。

       2.行高(line-height)

        (1)表示两行文字之间基线的距离,也就是每行文字高度,如果加上下划线,下划线就是基线。

       (2)行高的值既可以使用像素等为行高单位,也可以不加任何单位,只写数字,此时行高表示行高与字体大小的比值。如字体大小12px,

                     Line-height:1.5。

                     实际大小为line-height:1.5*12px=18px;

       3.字母大小写转换:text-transform

       4.文字装饰效果:text-decoration,它的值有underline,overline,line-height,blink等。

       5.文字对齐与首段缩进

       (1)段落水平对齐:text-align

       (2)段首缩进 text-indent:对中文网页,设置为”2em”即可。

       6.段落的垂直对齐:vertical-align

       (1)在目前浏览器中,只能用表格单元格中的对象竖直方向的对齐设置,而对于一般的块级元素,如div,不起作用。

       7.图像样式。

       (1)background-position:属性确定背景图像的位置,如果设置两个值,它们分别用于确定水平位置和竖直位置。如果只设置一个值,那么缺省的值为center.

              而且它与平铺相关,实际上指定了平铺的起始点。除了使用top,left,bottom,right,center外,还以可相对数值和绝对数值来作为它的属性值,如5%,18px等。

              数值表示的是距离左边的距离和距顶边的距离。

       (2)background-attachment:fixed可以固定背景图片,当拉动滚动条时,只有文字移动,而图片不动。

       (3)图像的水平(横向对齐方式):不能直接设置图片的text-align属性,而是由其父像素的该属性实现的,但是对纵向对齐是可以通过图像的vertical-align属性设置的。这点正好与文字的对齐方式相反的。

四、链接与导航

       1.伪类

       (1)伪类的声明顺序

              a:link,a:visited{text-decoration:none;}

              a:hover{text-decoration:underline;}

              上面的声明顺序不能变,如果变了,将不会效果。

       (2)a:link与a设置的都是相同的,二者通常情况下是没有区别的,但实际工作中,经常作用a,a:visited{};

       2.按钮超链接

       (1)对于普通超链接和点击过的链接设置相同,并且利用边框的样式模拟按钮效果,而鼠标指针经过时的超链接,相应地改变文字?色、背景色、位置和边框,从而模拟出“按下去“的特效。

       3.FF浏览器不支持a元素的高度(width)和宽度(height)属性!!

       4.项目符号

       (1)list-style-type:属性设置ull或ol标记符号样式。

       (2)list-style-image:属性设置项目符号显示为图片,但由于浏览器间的差异,一般不使用此属性,而是将list-style-type属性值设置为none,然后设置li标记的background实现。

       5.简单菜单导航

       (1)虽然把链接设为块级元素,但是只有在鼠标经过文字时(IE6),才能触发鼠标经过效果,而不是鼠标进入矩形区域就可触发。IE7修改了此错误,解决方法是:

       在”#navigation li a”中增加一条CSS规则:

       height:1em;

五、CSS+DIV布局

       1.固定宽度版式

(1)body{text-align:center;}

              #containter{position:relative;margin:1 auto;widht:760px;text-align:left;}

       (2)body{margin:0px;}

              #contaniner{position:relative;left:50%;width:760px;margin-left:-330px;}

       2.左中右版式

       (1)左右块用绝对定位,并且固定块宽度,而中间块不设置宽度,自动调整宽度,但是必须将它的padding-left和padding-right分别设置为左右块宽度。

       (2)块的背景色问题:由于左右块背景色没有延伸到页面底端

       解决:当有页脚时,把一整个块内容块(左、中、右三块)放到一个块中(这里放不放无所谓,主要是好管理),然后将body背景色设置为与右块相同的?色,再制做一副图片,宽度与left相同,?色与left背景色相同的块,做#container的背景图片,再设置向下重复即可。

六、经验心得

       1.在项目列表中,当把

  • 标记设置了float:left属性时,再为
  • 指定宽度,那么当
  • 标记超过父标记的宽度时就会自动换行 。

           2.浮动:假如有两个块,第一个设置为浮动后,不论方向,那么第二个块的内容会环绕第一个块;但若是设置二个块浮动后,对第一个块却没任何影响,即第一个块的内容是不会环绕第二个块。保持在原来的位置不变。

           3.为了减少差异,一般尽量在布局的块,如

    • 等的属性margin 、padding的值要么根据需要设置为相应的值,要么设置为0;

             4.经常用图片来代替块里的标题文字,先把标题文字隐藏,再把代替图片设置为块的背景图片。若是要竖直方向的图片,一般是这样设置;若是横向的图片,

      一般可以把包含标题文字隐藏,再设置相应父元素的宽度和高度及外边距和内边距,之后设置父元素的背景图片为代替图片。

                    例:

      这是测试

                    H3 span{display:none;}

                    H3{width:170px;height:60px;margin:0px;padding:0px;}

                    H3{bacground:url(1.jpg) no-repeat;}

       

  • 본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

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

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

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

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

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

    HTML은 초보자를 위해 쉽게 배우나요? HTML은 초보자를 위해 쉽게 배우나요? Apr 07, 2025 am 12:11 AM

    HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

    HTML, CSS 및 JavaScript의 역할 : 핵심 책임 HTML, CSS 및 JavaScript의 역할 : 핵심 책임 Apr 08, 2025 pm 07:05 PM

    HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

    HTML, CSS 및 JavaScript 이해 : 초보자 안내서 HTML, CSS 및 JavaScript 이해 : 초보자 안내서 Apr 12, 2025 am 12:02 AM

    WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

    HTML의 시작 태그의 예는 무엇입니까? HTML의 시작 태그의 예는 무엇입니까? Apr 06, 2025 am 12:04 AM

    anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.

    Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Apr 04, 2025 pm 11:54 PM

    GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

    웹 주석에서 y 축 위치의 적응 형 레이아웃을 구현하는 방법은 무엇입니까? 웹 주석에서 y 축 위치의 적응 형 레이아웃을 구현하는 방법은 무엇입니까? Apr 04, 2025 pm 11:30 PM

    웹 주석 기능에 대한 Y 축 위치 적응 알고리즘이 기사는 Word 문서와 유사한 주석 기능을 구현하는 방법, 특히 주석 간격을 다루는 방법을 모색합니다 ...

    HTML, CSS 및 JavaScript : 웹 개발자를위한 필수 도구 HTML, CSS 및 JavaScript : 웹 개발자를위한 필수 도구 Apr 09, 2025 am 12:12 AM

    HTML, CSS 및 JavaScript는 웹 개발의 세 가지 기둥입니다. 1. HTML은 웹 페이지 구조를 정의하고 등과 같은 태그를 사용합니다. 2. CSS는 색상, 글꼴 크기 등과 같은 선택기 및 속성을 사용하여 웹 페이지 스타일을 제어합니다.

    CSS3 및 JavaScript를 사용하여 클릭 후 주변 사진을 흩어지고 확대하는 효과를 얻는 방법은 무엇입니까? CSS3 및 JavaScript를 사용하여 클릭 후 주변 사진을 흩어지고 확대하는 효과를 얻는 방법은 무엇입니까? Apr 05, 2025 am 06:15 AM

    이미지를 클릭 한 후 주변 이미지를 산란 및 확대하는 효과를 얻으려면 많은 웹 디자인이 대화식 효과를 달성해야합니다. 특정 이미지를 클릭하여 주변을 만들 수 있습니다 ...

    See all articles