css 实例(完整的css代码例子)

大家好,今天小编来为大家解答以下的问题,关于css 实例,完整的css代码案例这个很多人还不知道,现在让我们一起来看看吧!

在网页设计中,CSS(层叠样式表)是不可或缺的工具。它可以帮助我们美化网页,提升用户体验。今天,就让我带你走进CSS的世界,通过一些实战技巧和案例,让你对CSS有更深入的了解。

一、CSS基础

在开始实战之前,我们先来回顾一下CSS的基础知识。

1. 选择器

CSS选择器用于选择页面中的元素。以下是一些常用的选择器:

| 选择器类型 | 例子 |

| :——- | :— |

| 标签选择器 | p { color: red; } |

| 类选择器 | .my-class { color: blue; } |

| ID选择器 | my-id { color: green; } |

| 属性选择器 | input[type=”

css网页的几种布局实例

本文主要介绍了浅谈css网页的几种布局的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

2018年已经过了一周,总结一下2017年在公司wiki上写的一篇关于css布局的知识,当时也借鉴了几个大神写的css布局知识,和自己在项目中遇到的坑。废话不多说。请看以下的干货。

1、左边固定,右边自适应布局的两种实现方式

效果图如下:

大屏展示:

小屏展示:

第一种实现方式通过负边距与浮动实现左边固定,右边自适应的布局。主要代码如下:

<style type=”text/css”>

.left{

float: left;

width: 100%;

height: 200px;

background-color: red;

}

.left-content{

margin-left: 30%;

}

.right{

float: left;

width: 30%;

margin-left:-100%;

height: 200px;

background-color: green;

}

.layout0{

clear: both;

width: 100px;

height: 100px;

background-color: yellow;

}

</style>

<body>

<p id=”body”>

<p class=”left”>

<p class=”left-content”>

设置子元素的margin,然后父元素必须浮动。

用父元素包裹,主要是因为right会覆盖left,从而导致left内容不可以看到,如果直接在left上设置margin或者padding会导致布局变化,因此只能再用一个p包裹内容,并且去除right覆盖的宽度。

</p>

</p>

<p class=”right”>-margin必须大于或等于自身的宽度才会上移</p>

<p class=”layout0″></p>

</p>

</body>实现过程中需要注意的是:

1.自适应的容器需要容器包裹住,否则容器内的内容会被覆盖。

2.right容器的负边距必须大于或等于自身的宽度才会上移。

3.如果right容器负边距等于自身的宽度它会靠右对齐,如果负边距等于-100%,则会靠左对齐。

第二种通过浮动布局来实现左边固定,右边自适应的布局

主要的代码如下:

<style type=”text/css”>

.left{

float: left;

width: 200px;

height: 200px;

background-color: yellow;

}

.right{

padding-left: 200px;

height: 200px;

background-color: red;

}

@media(min-width: 650px) and(max-width: 1000px){

.left{

width: 150px;

}

.right{

margin-left: 150px;

}

}

@media(max-width: 640px){

.left{

width: 100px;

}

.right{

margin-left: 100px;

}

}

</style>

<body>

<p id=”main”>

<p class=”left”>左边固定宽度,右边自适应</p>

<p class=”right”></p>

</p>

</body>实现过程中需要注意的是: 1. left需要脱离文档流,而right只需要正常显示就可以。

2.left只是覆盖在right上边,因此想要让right内容完整显示需要给right padding-left或者margin-left。

大屏展示:

小屏展示:

主要代码如下:

<style type=”text/css”>

#head{

height: 200px;

background-color: yellow;

}

#body{

width: 100%;

float: left;

}

.main{

background-color: green;

min-height: 200px;

margin: 0 210px;

}

.left{

float: left;

background-color: red;

width: 200px;

height: 200px;

margin-left:-100%;

}

.right{

float: right;

background-color: blue;

width: 200px;

height: 200px;

margin-left:-200px;

}

#footer{

clear: both;

height: 200px;

background-color: orange;

}

</style>

<body>

<p id=”head”>即左右固定,中间自适应,它可以利用margin-left为负数来实现,它的实现原理就是margin为负值可以改变float元素的排列位置</p>

<p id=”body”>

<p class=”main”>当多个元素同时从标准流中脱离开来时,如果前一个元素的宽度为100%宽度,后面的元素通过负边距可以实现上移。当负的边距超过自身的宽度将上移,只要没有超过自身宽度就不会上移</p>

</p>

<p class=”left”></p>

<p class=”right”></p>

<p id=”footer”></p>

</body>实现过程中需要注意:

1.中间自适应的p需要放在left和right容器前面并且内容p需要用父容器包裹

2.left和right容器向同一个方向浮动。

主要代码如下:

<style type=”text/css”>

#head{

height: 200px;

background-color: yellow;

}

#body{

overflow: hidden;

}

.left{

float: left;

background-color: red;

width: 200px;

height: 200px;

}

.right{

float: right;

background-color: blue;

width: 200px;

height: 200px;

}

.main{

background-color: green;

height: 200px;

margin: 0 210px;

}

#footer{

clear: both;

height: 200px;

background-color: orange;

}

</style>

<body>

<p id=”head”>左右固定宽度并且向两边浮动,中间的p设置两边的margin</p>

<p id=”body”>

<p class=”left”></p>

<p class=”right”></p>

<p class=”main”>该方案有一个缺陷,在小屏幕情况下回导致right被挤下去,main没有了</p>

</p>

<p id=”footer”></p>

</body>实现过程中需要注意:

1.该方式只需要注意中间自适应的p需要放在left和right容器的后面。

2.left和right容器向两边浮动。

主要代码如下:

<!DOCTYPE html>

<html>

<meta charset=”utf-8″>

<head>

<title>使用flex实现“双飞翼布局”</title>

</head>

<style type=”text/css”>

#main{

display: flex;

display:-webkit-flex;//谷歌浏览器加前缀

flex-flow: row nowrap;

justify-content: flex-start;

align-items: center;

}

.left{

flex: 0 0 auto;

width:100px;

height: 200px;

background-color: red;

word-wrap: break-word;

overflow: hidden;

}

.main{

flex: 1 1 auto;

height: 200px;

background-color: green;

}

.right{

flex: 0 0 auto;

width: 100px;

height: 200px;

background-color: yellow;

}

</style>

<body>

<p id=”main”>

<p class=”left”>flex语法我参照了阮一峰关于flex语法介绍 ;

<p class=”main”></p>

<p class=”right”></p>

</p>

</body>

</html>如果未了解过flex布局请移至文末点击链接查看阮一峰大神写的关于flex语法

3、定位布局

这边就不絮絮叨叨的讲一些基础的css定位知识了(ps:不会的请自行到w3c官网查阅),我主要来讲解一下工作中遇到的坑。以免其他人和我一样掉入坑中。

第一:使用多个fixed时,注意自己需要基于什么定位,因为如果父级有用transform属性时,可能会导致子元素的fixed基于父元素容器定位,而不是基于body定位。效果如下:

在上图中我可以发现中间黑色的小框是基于父级来定位,并且宽度也基于父容器的50%。详细的请看下面代码:

<!DOCTYPE html>

<html>

<head>

<title>关于position的定位的坑</title>

</head>

<style type=”text/css”>

body{

margin: 0;

padding: 0;

}

i{

font-style: normal;

cursor: pointer;

}

#delete-button{

position: absolute;

left: 45%;

top: 45%;

text-align: center;

vertical-align: middle;

height: 50px;

margin: auto;

cursor: pointer;

}

#delete-button> i{

display: inline-block;

width: 32px;

height: 32px;

border-radius: 16px;

background-color: orange;

color: red;

font-size: 32px;

vertical-align: middle;

line-height: 28px;

}

/*第一个模态框的样式*/

#layout{

display: none;

width: 100%;

height: 100%;

}

/*使用flex布局水平竖直居中*/

/*#layout-box{

position: fixed;

width: 100%;

height: 100%;

left: 0;

top: 0;

display: flex;

display:-webkit-flex;

flex-flow: column nowrap;

justify-content: center;

align-items: center;

background-color: rgba(0,0,0,0.3);

}*/

/*使用postion和 transform水平垂直居中*/

#layout-box{

position: fixed;

width: 100%;

height: 100%;

background-color: rgba(0,0,0,0.3);

}

.modal-dialog{

position: absolute;

left: 50%;

top: 50%;

width: 500px;

height: 200px;

border-radius: 10px;

transform: translate(-50%,-50%);

-webkit-transform: translate(-50%,-50%);

-moz-transform: translate(-50%,-50%);

-o-transform: translate(-50%,-50%);

background-color:#fff;

}

.dialog-title{

text-align: center;

color:#333;

font-size: 28px;

margin-bottom: 10px;

}

.dialog-content{

text-align: center;

color:#666;

font-size: 18px;

}

.dialog-button{

margin-top: 20px;

width: 100%;

color:#333;

}

.dialog-button>.button-box{

display: inline-block;

width: 48%;

text-align: center;

}

.button-box span{

display: inline-block;

padding: 10px;

color:#fff;

border-radius: 6px;

cursor: pointer;

}

#confirm{

background-color:#27ad9a;

}

#cancel{

background-color: red;

}

/*添加按钮的样式*/

#add-button> i{

display: inline-block;

width: 32px;

height: 32px;

border-radius: 16px;

background-color:#27ad9a;

color:#fff;

font-size: 32px;

vertical-align: middle;

line-height: 28px;

text-align: center;

}

#add-button{

display: inline-block;

cursor: pointer;

}

/*第二个模态框的样式*/

.layout2{

display: none;

position: fixed;

width: 100%;

height: 100%;

left: 0;

top: 0;

background-color: rgba(0,0,0,0.2);

}

.modal-dialog2{

position: fixed;

left: 50%;

top: 50%;

width: 50%;

height: 50%;

border-radius: 10px;

transform: translate(-50%,-50%);

-webkit-transform: translate(-50%,-50%);

-moz-transform: translate(-50%,-50%);

-o-transform: translate(-50%,-50%);

background-color: rgba(0,0,0,0.2);

}

.modal-dialog2> span{

display: block;

}

.modal-text{

float: left;

}

#close{

color: red;

font-size: 24px;

float: right;

cursor: pointer;

}

</style>

<body>

<p id=”delete-button”><i>-</i>删除</p>

<p id=”layout”>

<p id=”layout-box”>

<p class=”modal-dialog”>

<p class=”dialog-title”>提示</p>

<p class=”dialog-content”>是否删除该项,点击确定</p>

<p class=”dialog-button”>

<p class=”button-box”>

<span id=”confirm”>确定</span>

</p>

<p class=”button-box”>

<span id=”cancel”>取消</span>

</p>

</p>

<p id=”add-butto

css的基本语法

css的基本语法

  cascading stylesheet(级联样式表)。为网页提供外观(也就是,网页的表现形式)。将网页的外观写在一个css文件里,方便页面代码的维护(将表现与数据分离)。为方便大家学习css,我为大家分享css的基本语法如下:

  css的基本语法  选择器{

  属性1:属性值1;

  属性n:属性值n;

  符合选择器要求的标记,会添加对应的样式。

  Chrome浏览器为SVG和CSS添加GPU加速功能

  互联网有消息透露,谷歌正在为Chrome浏览器增加新的GPU加速功能。Chrome18浏览器将内建开关选项,让消费者选择使用GPU硬件加速基于矢量的SVG图形和CSS过滤器,让Chrome浏览器在未来网页显示上获得突破性速度,并且达成惊人的视觉效果。

  Chrome浏览器的SVG和CSSGPU加速支持Windows,Mac,Linux和谷歌的Chrome操作系统,但目前这个功能仍然主要是实验性质,因为只有几个少数网站部署了SVG和CSSGPU加速。

  但也有信息表示,tomshardware测试发现Chrome这项功能在显示目前网页方面,显示速度并没有出现任何显着增加,在WebVizHTML5基准测试当中出现了不稳定和崩溃问题。

  评论表示,虽然SVG和CSSGPU加速还有待完善,但是Mozilla火狐、微软IE和其他版本浏览器之间的竞争,肯定会推动这种技术快速发展和完善。

  设置容器中的内容垂直居中css代码

  如实例1设置网页整体居中的代码中内容是居容器的顶部的,而在表格布局时默认是垂直居中的,当我们需要垂直居中的时候该怎么办呢?别害怕,跟我来,也是比较简单的,只用设置容器内的行高就行了。

  line-height:500px;

  <!DOCTYPEhtmlPUBLIC”-//W3C//DTDXHTML1.0Transitional//EN”””>

  <htmlxmlns=””>

  <head>

  <metahttp-equiv=”Content-Type”content=”text/html;charset=gb2312″/>

  <title>标准之路www.aa25.cn</title>

  <style>

  #layout{width:778px;margin:0auto;text-align:center;border:1pxsolid#44b6dc;background:#e1edfb;height:500px;line-height:500px;}

  </style>

  </head>

  <body><pid=”layout”>标准之路www.##.cn</p>

  </body>

  </html>

  提示:可以先修改部分代码后再运行

  这是一种方法,另外和种方法就是设置的`它内边距padding了,自己可以试试哟~~

  CSS对不同浏览器的兼容性解决办法

  CSS对不同浏览器的兼容性解决办法由于CSS在不同浏览器中存在兼容性问题,所以在使用 p+CSS布局中,可能导致相同的内容在不同浏览器中出现不同的显示效果,为了解决这些方面的问题,以下针对CSS某些属性的用法提出相应的一些解决办法。 1、页面居中问题在IE浏览器下,可以通过定义CSS样式body{text- align: center;}来实现页面居中,但在FireFox(以下简写为FF)浏览器下此属性就失效了。解决办法:使用”margin- left: auto; margin- right: auto;” www.diannao114.cn2、padding属性在不同浏览器的显示问题当给p设置padding属性后,在FF浏览器中会导致 width和height增加(p的实际宽度=p宽+Padding),但在 IE浏览器中width和height不会增加,这就导致相同的内容在不同浏览器中出现不同的显示效果。解决办法:给p设定IE、FF两个宽度,在IE的宽度前加上IE特有标记”*”号。例如:#pwidth{ padding:5px; width:100px;*width:110px;} 3、奇怪的间隙问题有的时候我们明明设好了高度,可在IE6上却看见一些奇怪的间隙。解决办法:试试在有空隙的p上加上”font- size:0px;” 4、关于手形光标要将页面内容的光标显示为手形,通常的做法是使CSS属性cursor: hand;但这于做法只适用于IE.解决办法:cursor: pointer; 5、浮动在IE6产生双倍距离问题例如:#box{ float:left; width:100px; margin:0 0 0 100px;}这种情况之下IE6会产生200px的距离。解决办法:在以上属性的基础上,加上display:inline,使浮动忽略。6、UL和FORM标签的padding与margin ul标签在FF中默认是有padding值的,而在IE中只有 margin默认有值。FORM标签在IE中,将会自动margin一些边距,而在FF中margin则是0;解决办法:css中首先都使用这样的样式ul,form{margin:0; padding:0;}。 7、截字省略号.hh{- o- text- overflow:ellipsis; text- overflow:ellipsis; white- space:nowrap; overflow:hidden;}这个CSS是定义当内容溢出宽度后会自行的截掉超出部分的文字,并以省略号结尾,但注意Firefox并不支持。

  p+CSS网页布局的分类

  p+CSS网页布局的分类1、一列固定宽度一列布局是所有布局的基础,也是最简单的布局方式,用 p+CSS布局的代码如下: XHTML代码:一列固定宽度CSS代码:#main1{ width: 400px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999;} 2、一列自适应宽度自适应的布局能够根据浏览器窗口的大小自动改变其宽度和高度值,是网页设计中一种非常灵活的布局形式,用 p+CSS布局的代码如下: XHTML代码:一列自适应宽度CSS代码:#main2{ width: 70%; height: 300px; background- color:#EEEEEE; border: 1px solid#999999;} 3、一列固定宽度居中页面整体居中是网页布局中最常见到形式,在传统的表格布局中,使用TABLE的align=”center”属性来实现,在p+CSS布局中采用如下代码来实现:XHTML代码:一列自适应宽度CSS代码: p+CSS网页布局方法探析。如今的网页设计考虑得更多的是搜索引擎以及给用户带来更多的便利,传统的TABLE网页布局由于其庞大的HTML代码,使得其在搜索引擎方面显得有些无能为力,而用p+CSS进行网页布局具有代码精简的优点使得其在这方面又体现出更多的优势。但是又由于CSS对不同浏览器存在兼容性问题,所以对于初学者来说,在使用p+CSS进行网页布局过程中可能会遇到各种问题,本文就给大家探讨几点p+CSS布局的技巧。4、二列固定宽度在有一列固定宽度布局的基础上,实现二列固定宽度也就很简单了,用p+CSS布局的代码如下:XHTML代码:左侧右侧CSS代码:#left{ width: 150px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999; float:left;}#right{ width: 400px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999; float:left;} 5、二列固定宽度居中从一列固定宽度居中的布局方法中,我们就不难完成二列固定宽度居中了,可以使用一个居中的p作为容器,将二列分栏的p放置在容器中,从而就实现二列的居中显示。 p+CSS的代码如下: XHTML代码:左侧右侧CSS代码:#main{ width:554px; margin:0px auto;#left{ width: 150px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999; float:left;}#right{ width: 400px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999; float:left;}这里仅列举了一列、二列的布局方式,实际上三列、四列等多列的布局方式也和二列的布局方式的实现方法是一样的。事实上不管多么复杂的页面设计,在p+CSS网页布局中,均是以p为基础,通过一列、二列、三列这些基础的布局方式的相互组合与嵌套来实现复杂的布局。

  p+CSS网页布局技巧:设置网页整体居中的css代码

  以前用表格布局时设置网页居中非常方便,把表格对齐方式设置为居中就行了,就这么简单,现在呢,用p+CSS样式表控制,好像不是那么容易了,其实也很简单,只不过方式不同而已。

  <style>

  #layout{ width:778px; margin:0 auto; text-align:center;}

  </style>

  <p id=”layout”>标准之路www.aa25.cn</p>

  请看这段代码,宽度为适合800×600分辨率浏览器的宽度,margin:0 auto;这句代码就是让居中了,意思是外边距上下设置为0,左右设为自动。这样它就居中了。

  那么可能你要问了,text-align:center;为什么还要让内容居中呢?呵呵,别着急,这句是为了适应IE6以下版本的浏览器而加的,IE6以下对margin:0 auto;不能解析为居中,所以用这种方式来补救,以下在设计内容时再用 text-align:left;就可以了。

  注:margin和padding的值的顺序为顺时针上右下左,如margin:1px 2px 3px 4px;还可以缩写为上下、左右,如本例,如果为margin:0px;则是各边都为0

  提示:可以先修改部分代码后再运行

;

如何使用CSS调整图片大小的实例代码分享

通常,我们可以给图片<img>设置一个CSS属性,定义其高度和宽度。但有时候,我们只希望控制图片的最大可见大小。这样的操作,一般有两种办法:1.直接使用CSS属性值;2.使用JavaScript动态设置CSS值。

一、固定大小

一般,为了限制图片的大小,会使用下面的HTML属性值或CSS属性值来定义:

<img src=”” width=”600″ height=”500″ border=”0″>

img{

width: 600px;

height: 500px;

}

但这样的设置太死板,不够灵活。

二、利用CSS属性值

img.qtipImg{

max-width: 500px;

width: 500px;

width:expression(this.width> 500?”500px”: this.width);

overflow:hidden;

}这里定义了一个qtipImg类下面的img标签用CSS规则,通过max-width属性把图片控制在500px的宽度范围,并且是自适应比例的。

但是,各浏览器对该属性的支持并不一致,如IE6不支持该属性。

所以,后面又增加了一个expression的动作,该操作符后面括号中的语句是JavaScript脚本,用于动态的调整图片大小的。

而最后的,overflow:hidden则是为了防止上述两属性定义失效时,将超出设置大小的部分隐藏起来,避免显示异常。

该设定经测试,在IE7、IE8、FireFox 3.5下使用都很正常。

三、利用JavaScript脚本

每个浏览器(包括版本不同)对CSS的支持都会有区别。例如:IE 8下就取消了对expression动作的支持。这时,利用JavaScript来调整图片大小也是一个不错的方法。但它的缺陷在于,使用纯JavaScript脚本,在图片下载期间,大小会溢出,直到下载完成,JavaScript才会把其大小调整到合适的值。

1、借助一个中转的Image对象

两个JavaScript函数:

function getImageSize(FilePath){

var imgSize={width:0,height:0};

image=new Image();

image.src=FilePath;

imgSize.width= image.width;

imgSize.height= image.height;

return imgSize;

}

function fixImageSize(originalImage){

fixSize= 500;

if( originalImage.width> fixSize){

originalImage.height= Math.round( originalImage.height* fixSize/ originalImage.width);

originalImage.width= fixSize;

}

return originalImage;

}

使用时,把图片的地址传递给这两个函数,返回值即为调整后的图片:

img= getImageSize(“”);

img= fixImageSize(img);

finalresult='<img src=”'+attachUrl+'” width=”'+img.width+'” height=”'+img.height+'” alt=”'+filename+'”/>';

2、在加载完DOM后即调整大小

虽然CSS的expression方式将会被取消,但直接使用JavaScript方式计算合适的CSS值还是一个不错的方法。例如jQuery的$(document).ready()方法可以避免加载图片时溢出的问题。

以下脚本来自:这里

$(document).ready(function(){

$('.post img').each(function(){

var maxWidth= 100;//图片最大宽度

var maxHeight= 100;//图片最大高度

var ratio= 0;//缩放比例

var width=$(this).width();//图片实际宽度

var height=$(this).height();//图片实际高度

//检查图片是否超宽

if(width> maxWidth){

ratio= maxWidth/ width;//计算缩放比例

$(this).css(“width”, maxWidth);//设定实际显示宽度

height= height* ratio;//计算等比例缩放后的高度

$(this).css(“height”, height* ratio);//设定等比例缩放后的高度

}

//检查图片是否超高

if(height> maxHeight){

ratio= maxHeight/ height;//计算缩放比例

$(this).css(“height”, maxHeight);//设定实际显示高度

width= width* ratio;//计算等比例缩放后的高度

$(this).css(“width”, width* ratio);//设定等比例缩放后的高度

}

});

});

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享