初学CSS(写于接触CSS不到1个星期)

什么是web前端? 在第一次上课的时候就问过我们,当时我认为前端就是设计网页,但具体是什么,我也不是很清楚。老师解释道:web前端,就是你打开浏览器之后,所能看到的一切,都是用前端技术实现的。(我以前还认为页面是画出来的,没想到是写出来的,一下就高大上了。。。)

前端技术的核心有三个:HTML(超文本标记语言,主要用来描述一个网页的结构的)、CSS(层叠样式表,用来装饰网页)、javascript(网页上的脚本语言,是用来编程的)。

我理解CSS就是对于框架元素的全面补充,就好像是修房子,用HTML搭好了整个的框架外形,再用CSS去决定每一个房间该放些什么东西进去。 同时在决定每个房间放些什么东西之后,怎样去实现我们的决定又有着很多的方式。而要成为一名出色的前端工程师,不仅要将这些多不胜数的方法熟练的运用,同时也要要求对不同的情况能够选取最合适简洁的方法,这样不仅利于自己的程序编写,同样有利于在某些地方做出改变时也能快速的应对自如。这些都要求我们要有一个积累的过程。

在CSS技术中,有一个重要的方面,即定位。说到定位,就会牵涉到盒模型。盒模型是指元素如何显示以及如何相互交互。在页面上,每一个元素看做一个矩形框。这个框是由元素的内容、内边距、边框和外边距组成。在定位元素时,要注意内边距和外边距对布局的影响,一般会使用通用选择器对所用元素进行设置:

及 *{

margin:0;

padding:0;

}

绝对定位:绝对定位会使元素的位置与文档流无关,故其不占据空间,普通文档流中 其他元素的布局就像绝对定位的元素不存在时一样。所以在使用绝对定位元素要注意与其他元素的位置,不然会产生重叠。在使用绝对定位时如果要改变整个的布局在浏览器中的位置,这就需要使得最外围的元素定位为相对定位,这就可以再相对定位的情况下,其他的元素是绝对定位的。

相对定位:在使用相对时,不管是否移动,元素任然占据原来的空间,所以,移动元素会导致它覆盖其他框。

浮动:1)浮动的元素要从正常文档流中删除,但是它会影响其他的元素,也就是说它会影响布局。
        2)浮动的非替换元素必须要指定width,否则元素的宽度会趋于0,从而导致浮动元素不能完整显示。
    3)如果设置了float属性left/right,那么该元素就成为了一个块级元素。
       4)浮动的元素左右外边界不能超出包含块的左右内边界。(Containing Block)
       5)浮动的元素永远不会重叠
       6)浮动元素不会超过容器的上Padding。
       7)后浮动的元素永远不会超过先浮动元素的顶端
       8)浮动元素会尽可能高的放置,但是这个高要受制于前面两条6、7。
       9)浮动元素的下边界没有要求,因此当容器容纳不下浮动元素的时候,它就会向下延伸。部分的浏览器会增大容器的高度以容纳下浮动元素。而符合CSS2.1规范的浏览器,要想让容器容下浮动元素,让容器也浮动起来。
      10)浮动元素向下延伸的时候,不会影响正常文本的显示,但是文本会相对于浮动元素偏移,而且部分文本背景会被浮动元素遮住。
     11)如果浮动的元素设置的负边距,那么就会破坏规则4/6/7。
     12)当浮动元素的宽度小于容器的宽度时,浮动元素会超出容器的左右边界。
     13)浮动重叠的规则:
        行内盒与浮动元素重叠时,那么行内盒的边框、背景和内容都会位于浮动元素上面。
        块级元素与浮动元素重叠时,边框、背景在浮动元素之下,而内容在浮动元素之上。
     14)如果对每个元素应用了clear:left,那么这个元素的左边就不能有浮动元素。
     15)clear不能用于行内元素。<br />
     16)如果对某个元素应用了clear来清除浮动,那么该元素上设置的上margin就会被忽略。但是,会有一个重新计算的上margin(有可能为0)。如果我们希望这个元素和浮动元素之间有一个明确的间隔,应该在浮动元素上设置下Margin。
  例:消除浮动与不浮动元素的重叠影响。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>fdong</title>
    <style>
    *{margin: 0;padding: 0;}
    #a1{
       float: left;
       width: 100px;
        height: 100px;
        background-color: red;
        margin: 50px;
    }
        #a2{
            overflow: hidden;
   
        width: 200px;
            height: 200px;
            background-color: yellow;
            margin: 30px;         
        }
    </style>
</head>
<body>
   <div id="a1"></div>
   <div id="a2"></div>
</body>
</html>

初学CSS(写于接触CSS不到1个星期)

时间: 2024-11-03 21:14:43

初学CSS(写于接触CSS不到1个星期)的相关文章

【转】纯CSS写三角形-border法[晋级篇01]

(1)有边框的三角形 我们来写下带边框的三角形. 如果是一个正方形,我们写边时,会用到border,但我们这里讨论的三角形本身就是border,不可能再给border添加border属性,所以我们需要用到其他办法. 最容易想到的,是叠加层.思路是将两个三角形叠加在一起,外层三角形稍大一些,颜色设置成边框所需的颜色:内层三角形绝对定位在里面.整体就能形成带边框三角形的假象. 这里就涉及到一个绝对定位的问题,上.下.左.右四种方向的三角形相对于父级定位是不同的.首先我们来看下,当定位都为0(left

还在为小三角形切图?使用纯CSS写一个简单的三角形

同学们,当美工给的设计图是这样: 或者这样: 我的内心其实是拒绝的-_-:但工作还得干,大部分同学会写 <style> .icon{width:20px;height:20px;display:block;margin:0 auto;background:url(...)} </style> <div class="con"> <div class="icon"></div> <span>添加会

无聊,纯css写了个评分鼠标移入的效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h

用DIV+css写Table

做出的效果样式如下图, 1,首先考虑的是如何显示border,就像是分割代码,我把border分割为最外层DIV全border,和内层DIV的right和bottom的border,就是右边和下边. 2,考虑DIV的布局,内层DIVfloat:left,设定每个DIV的宽度和高度,就可以达到想要的效果,外层DIV由于内层漂浮也需要float:left 3,给需要不同高度和宽度的DIV加上不懂的class 代码如下. <!DOCTYPE html PUBLIC "-//W3C//DTD XH

html+css写个blog首页

经过一周的学习,终于可以使用html加css写个blog首页.在这里感谢51cto的苏勇老师的视频分享.页面如下: 视频地址:http://edu.51cto.com/lesson/id-26571.html 大家一起学习吧! 接下来,我就可以自己写个内部运维管理平台的首页了,配合python,django,nginx就可以了.

IE 和 FF 写不同的CSS

或许你一直在抱怨为什么要专门为IE和FF写不同的CSS,为什么IE这样让人头疼,然后一边写css,一边咒骂那个可恶的M$ IE.其实对于css的标准支持方面,IE并没有我们想象的那么可恶,关键在于IE和FF 的默认值不一样而已,掌握了这个技巧,你会发现写出兼容FF和IE的css并不是那么困难,或许对于简单的css,你完全可以不用”!important”这个东西了. 我们都知道,浏览器在显示网页的时候,都会根据网页的css样式表来决定如何显示,但是我们在样式表中未必会将所有的元素都进行了具体的描述

仿淘宝左侧菜单导航栏纯Html + css 写的

这俩天闲来没事淘宝逛了一圈看到淘宝的左侧导航菜单做的是真心的棒啊,一时兴起,查了点资料抓了几个图片仿淘宝写了个css,时间紧写的不太好,大神勿喷,给小白做个参考 废话不多说先来个效果图 接下来直接上代码,图片没法传,只能直接放代码下边,辛苦点一张一张扣去吧?? HTML部分 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd

重新整理:纯CSS写三角形

整理一下几年前写的知识点,关于如何用纯CSS写三角形. 方法1:利用CSS3旋转正方形 知识点: transform:rotate(45deg) 兼容性:FF/Chrome/IE9+ html: <div class="imgbox1"> <img src="images/200x300.jpg" alt="" /> <p>内容文字内容文字内容文字内容文字</p> </div> CSS:

因为业务需要,用nodejs写了一个css解析器,因为是基础库,想开源,不知道有没有人需要。

一般而言htmlparser的解析使用得比较多,node库中已经有了,npm install -g htmlparser2就可以安装. 这段时间要实现nodejs上的安全扫描,需要对html,css,js进行解析,css主要是限制一些绝对定位,浮层和url,防止产生钓鱼或攻击.所以写了一个css的解析器. 感觉 这些基础库应该公开出去,但是不知道有多少人有这个需求.