enter image description herelet first show you the idea in this picture: Picture (1) in this picture we see that the progress bars are under the picture in md/lg screens, and the text is on its right. enter image description here

and in picture(2) the text gose second and the progress bars gose last in small screen size: enter image description here

我try 做的是以下代码:

<!DOCTYPE html>
<html lang="fr">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mon cv - </title>
    <link rel="stylesheet" href="style.css">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
    <link rel="stylesheet" href="style.css">
</head>

<body>
    <div class="container">
        <!--main container-->
        <header>
            <h1>Bentouhami Faisal</h1>
        </header>

        <!-- Menu Navbar-->
        <nav class="navbar navbar-expand-lg bg-body-tertiary">
            <a class="navbar-brand" href="index.html">Mon Portfolio</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse"
                data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
                aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                    <li class="nav-item">
                        <a class="nav-link" href="formation.html">Formations</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="exprience.html">Expérience</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="contact.html">Contact</a>
                    </li>
                </ul>
            </div>
        </nav>
    </div>
    <!--end Navbar-->

    <!--header container-->
    <div class="container">
        <div class="row row-cols-auto">
                    <!-- Picture -->
                    <div class="col-sm-12 col-md-3">
                        <img src="images/mon_cv_photo.jpg" alt="Photo de Portfolio" class="rounded-circle">    
                    </div>
      
                    <div class="col-sm-8">
                        <h2 class="intro-text"> 
                            <p><b> Développeur Full Stack</b></h2></p>
                        <p class="intro-text">
                                36 ans <br> tant que développeur Full Stack, je possède une expertise complète dans
                                la
                                conception, le développement et la maintenance d'applications web. <br> Avec une solide
                                formation en informatique de gestion et une passion pour la programmation, je suis
                                capable
                                de
                                gérer tous les aspects d'un projet, tant sur le plan front-end que back-end.

                                Grâce à ma maîtrise des langages de programmation tels que HTML, CSS, JavaScript, ainsi
                                que des frameworks populaires tels que React et Angular, je peux créer des interfaces
                                utilisateur attrayantes et réactives.<br>

                                En tant que Full Stack développeur, je suis également à l'aise avec les technologies de
                                développement back-end telles que Node.js et Python, ce qui me permet de créer des API
                                performantes et de mettre en place des architectures logicielles robustes. <br>Je suis
                                également
                                familier avec les concepts de déploiement et d'hébergement, et je peux travailler avec
                                des
                                outils tels que Docker et AWS pour assurer une mise en production fluide et sécurisée.

                                <br>En résumé, en tant que développeur Full Stack, je suis en mesure de concevoir,
                                développer et
                                optimiser des applications web complètes, offrant une expérience utilisateur
                                exceptionnelle
                                et
                                des fonctionnalités performantes. Je suis passionné par mon métier et je m'efforce
                                constamment
                                de rester à jour avec les dernières tendances et les meilleures pratiques du
                                développement
                                web.
                        </p>
                    </div>
                 </div>      
                    <!-- Progression bars -->
                    <div class="row">
                        
                    </div>
                    <div class="col-3">
                        <div class="row">
                            <div class="col-3">
                                <img src="images/java.png" alt="Java" class="img-fluid">
                            </div>
                            <div class="col-9">
                                <div class="progress">
                                    <div class="progress-bar" role="progressbar" style="width: 80%;" aria-valuenow="80"
                                        aria-valuemin="0" aria-valuemax="100">80%</div>
                                </div>
                            </div>
                        </div>

                        <!-- Compétence : C# -->
                        <div class="row">
                            <div class="col-3">
                                <img src="images/c-sharp.png" alt="C#" class="img-fluid">
                            </div>
                            <div class="col-9">
                                <div class="progress">
                                    <div class="progress-bar" role="progressbar" style="width: 70%;" aria-valuenow="70"
                                        aria-valuemin="0" aria-valuemax="100">70%</div>
                                </div>
                            </div>
                        </div>

                        <!-- Compétence : HTML -->
                        <div class="row">
                            <div class="col-3">
                                <img src="images/html-5.png" alt="HTML" class="img-fluid">
                            </div>
                            <div class="col-9">
                                <div class="progress">
                                    <div class="progress-bar" role="progressbar" style="width: 90%;" aria-valuenow="90"
                                        aria-valuemin="0" aria-valuemax="100">90%</div>
                                </div>
                            </div>
                        </div>

                        <!-- Compétence : CSS -->
                        <div class="row">
                            <div class="col-3">
                                <img src="images/css-3.png" alt="CSS" class="img-fluid">
                            </div>
                            <div class="col-9">
                                <div class="progress">
                                    <div class="progress-bar" role="progressbar" style="width: 85%;" aria-valuenow="85"
                                        aria-valuemin="0" aria-valuemax="100">85%</div>
                                </div>
                            </div>
                        </div>

                        <!-- Compétence : Bootstrap -->
                        <div class="row">
                            <div class="col-3">
                                <img src="images/bootstrap.png" alt="Bootstrap" class="img-fluid">
                            </div>
                            <div class="col-9">
                                <div class="progress">
                                    <div class="progress-bar" role="progressbar" style="width: 75%;" aria-valuenow="75"
                                        aria-valuemin="0" aria-valuemax="100">75%</div>
                                </div>
                            </div>
                        </div>

                        <!-- Compétence : Php -->
                        <div class="row">
                            <div class="col-3">
                                <img src="images/php.png" alt="Php" class="img-fluid">
                            </div>
                            <div class="col-9">
                                <div class="progress">
                                    <div class="progress-bar" role="progressbar" style="width: 75%;" aria-valuenow="70"
                                        aria-valuemin="0" aria-valuemax="100">75%</div>
                            
                            </div>
                        </div>
                </div>
                </div>
                </div>
            </div>
        </div>
    </div>
</div>

        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"
            integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous">
        </script>
        <!--end 1st container-->
</body>
</html>

在进度条应该显示的位置用红色表示.

问题是,当我在大屏幕上时,文本太大了,在图片和进度条之间创建了一个黑白,导致进度行被挤了起来! 请看下面的屏幕:

推荐答案

实现这一点的一种方法是在代码中放置两次进度条(一次在图片之后,一次在文本之后),并使用显示实用程序类(v4 docs,v5 docs)显示/隐藏它们.

The one under the picture should have .d-none.d-md-block and the one under the text should have .d-block.d-md-none.
Change md to sm or lg if you want them to swap at a different breakpoint.
And swap *-block for *-flex classes if the default display of the element you apply this to is "flex".

看看它能不能工作here分钟.

或者,您可以复制文本(而不是进度条)并应用相同的技术.


Notes:

  • the main disadvantage of this technique is it over-complicates applying/removing event listeners to the duplicated element or its descendants.
    However, some frontend frameworks (Vue, React) offer built-in "portal" components which, in essence, are capable of rendering their contents inside a target element, placed at a different location in DOM, based on controller logic, without losing events (the elements are not destroyed, but moved). To my knowledge, Angular does not offer this out of the box. There might be a plugin for it, though.

  • 如果三个元素都是同一父元素的子元素,则此布局也可以使用定制的CSS,在父元素上使用display: grid并相应地定义grid-template-areas(或grid-template-rows&;grid-template-columns).但这将意味着放弃使用Bootstrap的网格系统来处理这个容器,而不得不编写自己的CSS来响应地控制列宽.

  • 从你绘制的草图来看,你是否希望文本在移动设备上滚动,而图片是固定顶部的,进度条是固定底部的,这一点还不清楚.这无疑会创造出有问题的用户体验.在移动设备上更好的用户体验是使整个页面可滚动.

  • 您的标记(HTML)无效:您过早地关闭了标题的<h2>,并且没有正确关闭所有布局<div>.原则上,您的IDE应该为您突出显示这些内容.最有可能的是,如果你为面试/求职提交了这个代码,你就会因为没有使用IDE(或者不知道如何设置它--对于雇主来说,他们的意思是一样的)而立即被取消资格.

  • 其他标记问题:不要在<h*>个元素中使用<p>(反之亦然);不要在同一个<p>元素中放置多个段落,并且避免使用<br>标记;永远不要将.row作为另一个.row的直接子元素(应该将其包装在.col中).并确保您的代码通过HMTL验证.


我已经修复了上面提供的示例中提到的所有问题.

Html相关问答推荐

试图让三个Divs与下面的另外三个对齐

悬停时跳转的内容

Angular 分量被循环

摆动的html标签

为什么前端框架可以创建自定义属性,而我却被期望在挖掘之前添加数据

在css中是否可以在遮罩图像中结合线性渐变和径向渐变?

为什么 Select 元素在带有数据绑定的Blazor上行为怪异?

rmarkdown HTML数字不适用于针织衫_1.44

为什么带有截断的 contentedible div 在受约束时会在 Chrome 中添加空格

带有数据 URI 的音频在 Chrome 中失败

文本不显示在 div 下方

表单中如何分别禁用/启用多个提交按钮?

Tailwind:父母动态适应子元素的身高

如何将自定义图像插入 Shiny plot header?

发光效果html动画

在不扭曲图像的情况下将图像放入灵活的 Div 框内

打开 Bootstrap 模式时无法获得模糊的背景

沿文本对齐双引号

我正在try 向我预先存在的导航栏添加响应式汉堡包导航,但由于某种原因它没有显示

两个按钮范围滑块的 CSS