首页 > 其他分享 >CSS实际案例,布局结构

CSS实际案例,布局结构

时间:2024-03-14 11:45:17浏览次数:22  
标签:盒子 布局 li padding 案例 宽度 设置 div CSS

目前自己的问题:

1所有东西都想用div,比如头部几个导航,不是用几个div而是用ui,li 。搜索框不是div套两个div,而是div套input,buttom。且h,p,ul,ol等这种块级元素,都可以直接设置height,width当盒子用。全用div他的语义就不好了。【靠经验】

2看见盒子老想去设置宽高,很多时候子盒子都不用设置宽,因为设置父盒子宽就行了。高度也可以考虑直接用padding撑大,正好还居中。

3padding不够熟悉。【padding会不会把盒子挤大,主要看父盒子有没有位置给他撑大】

  

什么时候会外边距塌陷?

怎么清除浮动?

比较好的方法:通过伪元素在父盒子最后加一个元素,声明displat: block变成盒子,再给盒子加clear: both,再把盒子隐藏【伪元素声明displat: block变成盒子时,我直接叫他伪元素盒子】

原来的做法是最后面加一个多余的空盒子,如果页面上有很多需要清楚浮动的地方就需要加很多个盒子,伪元素就很好解决这个问题

 

 

写CSS步骤?

1初始化,所有标签去掉默认的默认边距,li 去掉小黑点等等

background与background-image区别?

就像magin与magin-top的区别,magin包括了magin-top。background同理。background-image只能设置图片,background可以设置背景颜色,图片等等。background: url(../山.jpg) 40% / 10em gray  round fixed border-box;;



 

1这四个盒子都是标准流,所以从上到下排列

 top(和浏览器一样宽不需要指定宽度)




 

 




 

a{padding:0 20px} 指的是给a内的文字padding,也就是会把a撑大【如果没有指定width与height就不会撑开盒子】




 1给 .box设置高宽,图片宽度设为100%

 2  .review设置高度,这样最下面的文字不会因为中间的字多而被挤下去,因为下方还有足够距离,所以上下距离不能用padding,不然盒子会撑大

3  .review设置padding: 0 30px,因为.review宽度没设置就是100%,没位置给他撑大所以不会撑大。【别人这么说也对:因为.review没有设置宽度,盒子不会撑大】

 

总结:h,p,ul,ol等都是块级元素,都可以直接设置height,width当盒子用



box父盒子设置完宽度以后,子盒子肯定没必要设置宽度了,这是padding就能很好的控制文字左右。

   




 

 下面代码没写清楚,  .last是加在最后一个li上的类

 




 

     

 






第一步确定版心+网页背景颜色+清楚边距:以后哪个盒子需要这个宽度以及居中,直接在盒子的class中加个类名就行

第一眼:宽度百分百的就不需要写宽度。在中间的就给版心的样式


导航栏

给最外面的盒子加 w 这个类

 nva中的a 链接最经典写法: 变块级;然后才可以加高度,行高上下使文字居中;因为字数不确定不能加宽,所以加左右padding正好又可以左右居中

.nav ul li a { 
  display: block;
  height: 42px;
  padding: 0 10px;
  line-height: 42px;
}

搜索框并不是div里面套两个div,这样写语义不好,直接div套input和button,语义更好。背景图片用background: url(...);


 

        

 1最外面的div不需要给宽度,默认100%

  

1看图他这里的a 也不是整个li的范围

li 没设置宽度,所以给li设置padding就没变大(经常这样,自己这个块级元素没设置宽度,可是上一级或者上上级设置了宽度,就默认一样大,这时给自己设置padding就可以把里面内容挤到中间,但是自己大小没变!!非常好用

 

.bd ul li {
  padding: 14px 0;
  border-bottom: 1px solid #ccc;
}

对于下图的li来说父盒子有足够的高度,当他加上下padding时可以给 li 撑开,正好也起到了上下居中效果。 a 链接添加 display: block;变块级元素再去写样式变成按钮

          


 1 不是三个div!!!   2中间li文字长度一般不一样,所以不设置宽度,用padding撑开   3都是文字都是居中,直接给最外面的盒子加height,line-height让他们相等,继承过去


可以把ul改大,虽然最外层用来 .w 的样式但是可以单独重写width。浮动后也能装下就不用单独找第5,第10个把他的右边距删除

  

具体每一个li:图片修改为100%,表示跟父亲一样宽。改一下标题样式。改一下margin: 上 右 下 左;


   

dl是块级元素,给他们全浮动

   


 

     

1直接把图片大小设置跟盒子大小一样。

2行内元素添加absolute 或者 fixed 可以直接设置宽高(直接记住案例:轮播图按钮,回到顶部按钮)

补充:absolute 或者 fixed不能用margin: 0 auto 居中。加了这两个属性都是用固定代码居中,先 left: 50%;margin: 盒子的负一半大小

3 想让谁浮谁就加float: left。margin:3px上下左右全都间距3


 

1中间的播放按钮图片 和 背景颜色都是通过background显示

2当鼠标经过 class1让 class2显示出来, .class1:hover .class2{display: block}    记住就好

     

第二种做法:

伪元素选择器,结构性更好。

 

 


 

    

给里面图片浮动,下面的盒子会上去,图片会把p盒子压住,但是不会压住 p中的文字。

给 a 设置padding大小,再把 a 的宽高减去padding大小才不会改变a的形状,因为a直接在body标签里,body有足够的空间,盒子设置padding会被撑大

 


 

 善于用text-align:center。只要加了text-align:center里面的行内元素和行内块元素都会水平居中

   






 

 SEO三大标签

<title>。。</title>
<meta name="description"   content="。。。!" />
<meta name="keywords" content="相机,数码,配件,手表,存储卡,京东" />


 

 

结构大于一切:分三成,第一层就是整个100%顶部,第二部分版心,第三部分版心中的左右盒子

  

第一眼两个盒子里面装两个ul,li 都是浮动且居中,所以写出共同样式


 

 

1因为它不像上面一样需要一个宽度100%的背景颜色,只需要一个盒子在中间,所以W直接给最外面的盒子

2三个部分,又不是贴边显示,直接用 子绝父相做,量出上 左或 上 右的距离,设置top与left

把图片变成 a 链接: 一个盒子里面装a,设置a的大小=盒子大小,(两个盒子一样大,给谁设置背景图片都一样)

 input 与 button都是行内块元素,放一行会有缝隙,如果再调大,搜索框会被挤下去,要设置浮动去除缝隙

最右边购物车左右两个字体图片肯定用伪元素来做。(补:伪元素是行内元素,行内元素是可以设置magin 与 padding的) 上方的消息提示原点用点位做,内容长度不确定不设置宽,用padding给他撑大就有自适应宽度了。


 

 跟第一部分html结构一样,需要一个宽度100%的盒子设置底边框,所以也是外盒子套一个类为W的盒子

 ()

 dropdown做的是下拉菜单(他这里起名dt,dd,只是为了语义性更好,其他名也一样)

 


 

 

 


 

总结1:

     

这三种距离旁边都有一点距离的都是用padding。父盒子设置了宽度,子盒子没有设置宽度,直接设置padding

 

标签:盒子,布局,li,padding,案例,宽度,设置,div,CSS
From: https://www.cnblogs.com/dfzj/p/18065572

相关文章

  • SQL Server索引查找/扫描没有出现key lookup的案例浅析
    在我们讲解这个案例前,我们先来了解/预热一下SQLServer的两个概念:键查找(keylookup)和RID查找(RIDlookup),通常,当查询优化器使用非聚集索引进行查找时,如果所选择的列或查询条件中的列只部分包含在使用的非聚集索引和聚集索引中时,就需要一个查找(lookup)来检索其他字段来满足请求。对......
  • 有趣的css - 暗黑模式切换开关
    大家好,我是Just,这里是「设计师工作日常」,今天分享的是用css打造一个切换界面暗黑模式的按钮开关,通过点击来切换太阳和月亮的图标。《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。目录整体效果核心代码html代码css部分代码完整代码如下html页面c......
  • [数字华容道] Html+css+js 实现小游戏
    [数字华容道]Html+css+js实现小游戏效果图代码预览在线预览地址代码示例<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>数字华容道</title> <style> h1{ text-align:center; } .box{ border:......
  • 鸿蒙开发入门实战案例-菜谱列表(附源码)
    昨天分享了鸿蒙的一些基础组件和布局方式,今天直奔主题,做一个菜谱列表,先看效果:这是实际开发中非常常见的列表样式,对初学者来说可能看起来有一些复杂,没关系,我们先从最简单的列表开始,一步一步实现它。昨天说过List列表组件的基本使用方式:List(){ListItem(){T......
  • HarmonyOS-基础之开关切换案例
    需求,点击按钮切换图片代码:@Entry//代表组件的入口(类装饰器)@Component//代表的自定义的组件->组件配置路由->页面structIndex{//定义响应式数据(属性装饰器)@StateisOn:boolean=false;@Statecount:number=0;//build:书写UI地方//内部......
  • wxss和css的区别
    目录1.语法差异2.尺寸单位3.样式导入WXSS示例代码:CSS示例代码:4.组件和属性的支持总结WXSS(WeiXinStyleSheets)和CSS(CascadingStyleSheets)都是用于描述文档样式的语言,但它们在微信小程序和网页开发中有一些关键的区别。以下是它们之间的主要差异,并附......
  • Css基础——vertical-align属性
    1、vertical-align的定义CSS的vertical-align属性使用场景:经常用于设置图片或者表单(行内块元素)和文字垂直对齐。官方解释:用于设置一个元素的垂直对齐方式,但是它只针对于行内元素或者行内块元素有效。2、vertical-align的语法vertical-align:baseline|top|midd......
  • CSS 学习第一天
    #层叠样式表样式:文字大小、背景颜色、元素宽高等等层叠:类似于化妆、一层一层的进行修饰表:列表#行内样式写在标签的style属性中(又称:内联样式)style 样式要符合CSS规范(名:值;)的形式,最好放在<head>标签中!!多个html无法重复使用设置的CSS样式#外部样式写在单独的.css文......
  • CSS学习第三期(新手勿喷)
    今天是我第三天学习CSS,今天在昨日的基础之上,学习了关于盒子的CSS属性,以及背景的属性,还有选择器和透明度,浮动,话不多说开始今天的分享。一。盒子的属性盒子的属性中有宽,高,背景颜色,文字颜色,文字的粗细,文字的大小,文字的水平对齐,上下和居中,边框的颜色,边框的宽度,还有变宽的线条;1.1......
  • 【强化学习笔记一】初识强化学习(定义、应用、分类、性能指标、小车上山案例及代码)
    文章目录第1章初识强化学习1.1强化学习及其关键元素1.2强化学习的应用1.3强化学习的分类1.3.1按任务分类1.3.2按算法分类1.4强化学习算法的性能指标1.5案例:基于Gym库的智能体/环境接口1.5.1安装Gym库1.5.2使用Gym库1.5.3小车上山1.5.3.1有限动作空间1.5.3.2......