`
yiminghe
  • 浏览: 1465582 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

有关css有趣布局的解答

阅读更多

1.图片在不定高度容器内的垂直水平居中


韩国人的一个很好实现


利用开头一个空白的容器等高的图片行内元素撑大行高,后续的图片行内元素 vertical-align:middle则该图片参考撑大的行中线 垂直居中


我这里修改 空白图片高度为 height:100% ,而不是原来的 height:160px ,更具灵活性

 

<!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">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
		<title>Vertical Middle</title>
		<style>
		.itm{border:2px solid #ccc;width:160px;height:160px;text-align:center;}
		.blank{width:0;height:100%;}
		.itm img{vertical-align:middle;}
		</style>
	</head>
	<body>
		<div style="" class="itm">
			<img src="blank.gif" class="blank">
			<a href="">
				<img src="m060616.jpg">
			</a>
		</div>
	</body>
</html>

 

blank.gif 

 

m060616.jpg

 

但是为什么  blank 图片也必须 vertical -align:middle 我也没搞清楚 ???

 



2.两列布局,一列固定宽度,另外一列填充剩下空间

 

2.1 可以用float实现列布局(网上流传)


因为其中一列A要填充所有宽度,所以设定宽度100%,但是要给另外一列B提供固定空间,可以利用负margin,使得A列实际占用空间 (width+margin+padding)小于 width ,从而留给B 同行 float 的空间,同时A列内元素占用width的宽度,可能会越过A列的实际占用空间而和B列重合,所以A列中的元素要设置 正margin或正padding 使得A列中的内容和B列分开。

 

 

<!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" lang="en" xml:lang="en">
<head>
	<style type="text/css">
		   #main { margin: 30px 0 10px; text-align: center;}
      #left_part { float: left; margin-right: -350px; width: 100%;}
       #in_left_part { margin-right: 350px; height: 300px; padding-top: 150px;}
     #right_part { float: right; background:#292928; width: 350px; height: 300px; line-height: 300px;}
	</style>
</head>
<body>
	
	    <div id="main">
  <div id="left_part">
    <div id="in_left_part">
   左边宽度为自适应, 利用负边距: <br />
    #left_part { margin-right: -350px;}<br />
  &nbsp;&nbsp;&nbsp;&nbsp;#in_left_part { margin-right: 350px;}
    </div>
   </div>
    <div id="right_part">
  右边固定宽度, 宽度为350px;
  </div>
  <br style="clear:both;" />
  </div>
  
</body>
</html>

 

 

2.2  自己想了一个

 

 

负边距感觉很别扭,很少用负边距吧,我觉得用正边距也可以啊,只要自扩展宽度那列给另外一列留出空间好了,这是另外一列要想和上一列并排,那就绝对定位到右上边 好了。

 

问题:

后来想了下,这样会有问题的,因为 float 的话可以 clear ,使得父容器可以自适应高度包含两列,而 absolute 的话父容器就无论如何都无法知道绝对定位那列的高度,也无法包含,当 absolute 那列很高(比普通那列高)时,则父容器边框,背景等会无法覆盖那列。

 

<!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" lang="en" xml:lang="en">
<head>
	<style type="text/css">
		   #main { margin: 30px 0 10px; text-align: center; position:relative;}
      #left_part {  margin-right: 350px; }
     
     #right_part {background:#292928; width: 350px; height: 300px; position:absolute;right:0;top:0;}
	</style>
</head>
<body>
	
	    <div id="main">
  <div id="left_part">
    
   左边宽度为自适应,  <br />
   利用正边距右留空 <br />
  &nbsp;&nbsp;&nbsp;&nbsp;
    
   </div>
    <div id="right_part">
  右边固定宽度,绝对定位, 宽度为350px;
  </div>
 
  </div>
  
  </body>
</html>
 

 

 

 

 

 

 

 

 

  • 大小: 43 Bytes
  • 大小: 1.2 KB
分享到:
评论

相关推荐

    CSS相关综合专栏。 计划包含四个方面: ①CSS基础②进阶专题③面试题汇总④一些有意思的奇技淫巧。.zip

    【描述】中的“面试经验”提示我们,这个资料集可能包含了一些在CSS面试中可能会遇到的问题和解答,这对于求职者或者想要提升自己面试技能的开发者来说非常有价值。通常,面试题会涉及CSS的基本语法、布局技巧、响应...

    健身俱乐部CSS网站模板是一款适用于健身运动器材类的企业网站模板 .rar

    6. **交互效果**:利用CSS3动画,模板可以实现平滑过渡、悬停效果等,提升用户的互动体验,使网站更加生动有趣。 7. **字体选择**:清晰易读的字体对于传达信息至关重要。模板可能会选用适合阅读的无衬线字体,并...

    漂亮的木板jQuery首页

    2. **CSS(层叠样式表)**:style.css是这个项目中的CSS样式表文件,它定义了网页的布局、颜色、字体等视觉样式。例如,木板效果可能通过设置背景图像、边框、阴影等属性来实现,而按钮和链接的样式也会在CSS中进行...

    html和javascript入门(方块小游戏制作).pdf

    其中,`&lt;div&gt;`是布局中最关键的标签,它可以包含其他元素,通过CSS样式进行灵活布局。 3. 方块的制作: 制作方块主要依赖`&lt;div&gt;`标签,结合CSS的`height`、`width`、`background-color`等属性以及`position`属性来...

    MathGame:儿童数学游戏,旨在提高他们的基本数学操作技能。 使用HTML5,CSS3和Javascript制作

    例如,CSS3的动画可以使得解答正确的数学问题时有动态的反馈,增强孩子的成就感;而多列布局则可以使得游戏界面更加整洁,易于理解。 JavaScript是实现MathGame动态逻辑的核心。它负责处理用户输入、生成数学问题、...

    网页设计师考试模拟题

    2. CSS (Cascading Style Sheets):CSS用于控制网页的外观和布局。考生需掌握盒模型、选择器、层叠规则、定位(static、relative、absolute、fixed)、Flexbox和Grid布局等概念。此外,对CSS3的新特性如动画、过渡、...

    musicdot:使用MUSICDOT项目的html,css和javascript

    在MUSICDOT项目中,我们可以利用CSS来设置播放器的布局、颜色、字体等。例如,为播放按钮添加样式: ```css #play-btn { background-color: #333; color: #fff; padding: 10px 20px; border: none; cursor: ...

    FilterGrid:使用令人敬畏的 Animate.css 库进行动画过滤的响应式网格

    3. **动画效果**:通过集成 Animate.css,FilterGrid 在元素显示和隐藏时应用了各种动画效果,如淡入淡出、弹跳、滑动等,使得用户界面更加生动有趣。 4. **可定制化**:FilterGrid 允许开发者根据自己的需求调整...

    有趣的填字游戏网页模板

    这通常通过使用媒体查询(Media Queries)在CSS中实现,确保布局在任何分辨率下都保持清晰、易用。 最后,ReadMe.txt文件可能是关于如何安装和自定义模板的指南,包括文件结构说明、依赖项和版权信息等。下载字体....

    樱之花嫁风格for leadbbs3.14

    style7.css是这个主题的核心样式表文件,它定义了页面的各种元素样式,包括字体、颜色、布局等。通过对CSS的调整,可以改变论坛的外观,使其符合"樱之花嫁"的主题。开发者可能需要对这个文件进行细致的定制,以确保...

    HTML5响应式在线教育网站模板.zip

    CSS3不仅增强了样式表现,还提供了动画和过渡效果,使得网站更加生动有趣。例如,可以设置页面滚动时元素淡入淡出的效果,或者在鼠标悬停时改变按钮的颜色。这些视觉反馈可以提升用户的交互体验,增加网站的吸引力。...

    手机wap源码模板 (502).zip

    - "css"目录下的CSS文件用于定义网页的布局、颜色、字体等视觉效果,通过链接这些样式表,可以实现跨页面的统一风格,提高用户体验。 3. **JavaScript文件**: - "js"目录中的JavaScript脚本用于实现动态交互功能...

    背景视差滚动插件

    5. **css**:CSS文件夹可能包含样式表文件,用于定义页面元素的外观和布局。在视差滚动中,CSS用于设置各层的定位、大小和透明度等属性,以实现理想的视觉效果。 总的来说,这个“背景视差滚动插件”涉及到了前端...

    前端项目-angular-deckgrid.zip

    9. **社区支持**:作为开源项目,Angular-deckgrid 可能有活跃的社区和开发者论坛,提供问题解答和新功能的讨论。 10. **版本控制**:使用"master"分支表明项目遵循Git进行版本控制,这有助于团队协作和代码历史...

    qq客服代码

    HTML文件可能包含了客服窗口的布局和结构,CSS用于定义视觉样式和动画效果,而JavaScript文件则负责处理用户交互和动态行为。为了正确使用和自定义这个代码,你需要有一定的HTML、CSS和JavaScript基础,理解代码结构...

    quickmenu网页工具

    QuickMenu是一款专为网页开发者设计的工具,它简化了创建动态、交互式菜单的过程,让网页界面更加生动有趣。在“quickmenu网页工具”中,我们可以看到开发者通过编写少量的代码就能实现各种炫酷的菜单效果,这极大地...

    产品图册设计网站模板是一款大气好看的html5网站模板下载 .rar

    CSS3则是美化这个模板的关键,它提供了丰富的样式和动画效果,如渐变、阴影、圆角、过渡和动画等,使得网页设计更加生动有趣。通过媒体查询(Media Queries)实现响应式设计,确保了网站在不同设备上(如桌面、平板...

    经典美观前端模板

    7. 常见问题解答:解答用户可能遇到的问题,提升用户体验。 8. 404错误页面:当用户访问不存在的页面时显示,通常设计得有趣且引导用户返回主页。 每个模板可能还配备了响应式的导航栏、下拉菜单、轮播图、滚动动画...

    排版布局设计技巧_对比+对齐+重复+亲密性(第3版)

    RobjnWilliams将优秀设计的秘诀归纳为对比、重复、对齐和亲密性四条基本原则,并用简洁通俗、幽默生动的文笔,同时配以大量经过修改进行前后对比的实例图解和设计练习(并提供解答),直观而清晰地传授给读者。...

Global site tag (gtag.js) - Google Analytics