css实现多列并排 多块并排 左右顶头_html/css_WEB-ITnose
今天在工作中遇到了一个问题:有三个div块,里面放置展示内容,并排,中间有间隙,两边顶头,可以随屏幕大小自适应宽度。
我第一时间想到的是传统的三列布局,但传统的三列布局都是固定宽度加自适应宽度,从网上搜了好久都没有搜到结果。所以自己想办法。
第一种想到的办法:
第一种我准备用两边float,中间margin居中的方法。代码如下:
css:
.wrap{height:300px;width:95%;margin: 100px auto;} .left{float:left;width:32%;height:100px;background-color: #235255} .right{float:right;width:32%;height:100px;background-color: #374737} .middle{width:32%;margin:0 auto;height:100px;background-color: #563958}
html:
<div class="wrap"> <div class="left"></div> <div class="middle"></div> <div class="right"></div> </div>
结果变成了这样:
查了一下,解决办法是把right提到最前面。试了一下,成功了。
html: <div class="wrap"> <div class="right"></div> <div class="left"></div> <div class="middle"></div> </div>
不过思考一下,这个问题有很多的不方便。首先就是可能会打乱html的加载顺序,还有就是间距是不固定的,并且加了float,可能会有副作用。
之后我就考虑第二种方案。问了下同事,提到了可以用inline-block代替float的方法。这给了我很大的启发。回来我就试了一下。
第二种想到的办法
这种方法将这三个块都设置成display:inline-block,利用inline元素的特性将其居于一行,再将其box-sizing属性设置成border-box。
这种方法,好处有几点:
1.不会有float的副作用存在
2.不管是三列还是三十列,来就行
代码如下:
css:
.g-bd{width: 95%;height: 300px;padding-top:20px;background-color: #bbbbbb;margin: 0 auto;} .in-bl{display: inline-block;} .f{width: 33.333%;height: 100px;background-color: #ab1256;} .s{width: 33.333%;height: 100px;} .t{width: 33.333%;height: 100px;background-color:#192873;}
html:
<div class="g-bd"> <div class="f in-bl"> </div> <div class="s in-bl"> </div> <div class="t in-bl"> </div> </div>
结果与预想的不太相同。预想中他们之间没有空隙,充满容器,不会换行。结果他们义无反顾地换行了,之间有了一个本不该存在的空隙。
原因也很简单,作为一个带有inline的元素之间换行是会被识别为空格的(哭)。
原理找到了,这里有详细的解释,鑫旭大神就是厉害:张鑫旭对于inline-block的理解。这里是个demo,就用最简单的方法去除空格就好了。
接下来还有个问题:无法通过margin/padding来给他们之间设置间隔。这里想了一个办法:在每个盒子里面嵌套一个盒子,背景设置给里面的,宽度设置比100%小一点,通过margin:auto进行调整位置,这样就有一个可以调整的间隙了~
代码如下:
css:
.g-bd{width: 95%;height: 300px;padding-top:20px;background-color: #bbbbbb;margin: 0 auto;}.in-bl{display: inline-block;}.f{width: 33.333%;height: 100px;background-color: #ab1256;}.s{width: 33.333%;height: 100px;}.t{width: 33.333%;height: 100px;background-color:#192873;}.in{margin:0 auto;px;width: 95%;background-color:#958727;height: 100%}
html:
<div class="g-bd"><div class="f in-bl"> </div><div class="s in-bl"><!--这里把结束标签与下一个标签合并了,正式工作时会给后端工程师添麻烦,不建议使用--> <div class="in"> </div></div><div class="t in-bl"> </div></div>
效果:
大功告成。这样的方法会增加一个嵌套,要设置border-box,也算是有些副作用了。到工作时再根据需要进行取舍吧。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











HTML convient aux débutants car il est simple et facile à apprendre et peut rapidement voir les résultats. 1) La courbe d'apprentissage de HTML est fluide et facile à démarrer. 2) Il suffit de maîtriser les balises de base pour commencer à créer des pages Web. 3) Flexibilité élevée et peut être utilisée en combinaison avec CSS et JavaScript. 4) Les ressources d'apprentissage riches et les outils modernes soutiennent le processus d'apprentissage.

WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

HTML, CSS et JavaScript sont les trois piliers du développement Web. 1. HTML définit la structure de la page Web et utilise des balises telles que, etc. 2. CSS contrôle le style de page Web, en utilisant des sélecteurs et des attributs tels que la couleur, la taille de la police, etc. 3. JavaScript réalise les effets dynamiques et l'interaction, par la surveillance des événements et les opérations DOM.

Les rôles de HTML, CSS et JavaScript dans le développement Web sont: 1. HTML définit la structure de la page Web, 2. CSS contrôle le style de page Web, et 3. JavaScript ajoute un comportement dynamique. Ensemble, ils construisent le cadre, l'esthétique et l'interactivité des sites Web modernes.

L'avenir de HTML est plein de possibilités infinies. 1) Les nouvelles fonctionnalités et normes comprendront plus de balises sémantiques et la popularité des composants Web. 2) La tendance de la conception Web continuera de se développer vers une conception réactive et accessible. 3) L'optimisation des performances améliorera l'expérience utilisateur grâce à des technologies de chargement d'image réactives et de chargement paresseux.

Les rôles de HTML, CSS et JavaScript dans le développement Web sont: HTML est responsable de la structure du contenu, CSS est responsable du style et JavaScript est responsable du comportement dynamique. 1. HTML définit la structure et le contenu de la page Web via des balises pour assurer la sémantique. 2. CSS contrôle le style de page Web via des sélecteurs et des attributs pour le rendre beau et facile à lire. 3. JavaScript contrôle le comportement de la page Web via les scripts pour atteindre des fonctions dynamiques et interactives.

Les tendances futures de HTML sont la sémantique et les composants Web, les tendances futures de CSS sont CSS-in-JS et CSShoudini, et les tendances futures de JavaScript sont WebAssembly et sans serveur. 1. La sémantique HTML améliore l'accessibilité et les effets de référencement, et les composants Web améliorent l'efficacité du développement, mais l'attention doit être accordée à la compatibilité du navigateur. 2. CSS-in-JS améliore la flexibilité de gestion du style mais peut augmenter la taille du fichier. CSShoudini permet le fonctionnement direct du rendu CSS. 3.WeBassembly optimise les performances de l'application du navigateur mais a une courbe d'apprentissage abrupte, et sans serveur simplifie le développement mais nécessite une optimisation des problèmes de démarrage à froid.
