【问题标题】:How to "stick" icon next to the scrollbar and make it always be there (even if scrolling)?如何在滚动条旁边“粘贴”图标并使其始终存在(即使滚动)?
【发布时间】:2021-05-28 17:48:23
【问题描述】:

我一直在尝试将图标放在我的反应页面中滚动条的旁边。现在我找不到按照我想要的方式正确对齐项目的方法。

现在这是我得到的:

现在红色方块是我的图标所在的位置,绿色是我想要的位置。此外,我希望能够滚动页面,图标仍然在那里(所以我希望它一直在那里)。这将是我的过滤输入。

这是我返回的组件:

import React, { useState, useEffect } from 'react';
import { Link } from 'react-router-dom';

import Form from 'react-validation/build/form';

import ArticleService from '../../services/article.service';
//import Filter from '../Filter/Filter';
import {
  MDBDropdown,
  MDBDropdownToggle,
  MDBDropdownMenu,
  MDBDropdownItem,
} from 'mdbreact';

import { Pagination } from 'semantic-ui-react';
import numeral from 'numeral';

const Dashboard = () => {

 .....

  return (
    <div>
      {loading ? (
        <div className='text-white'> 
          <div className='float-right'> //here is where I'm using the icon 
            <MDBDropdown dropleft>
              <MDBDropdownToggle caret color='#ffffff'>
                <i className='fas fa-chevron-left'></i>
              </MDBDropdownToggle>
              <MDBDropdownMenu>
                <MDBDropdownItem>
                  <p>Input1</p>
                </MDBDropdownItem>
                <MDBDropdownItem>
                  <p>Input2</p>
                </MDBDropdownItem>
              </MDBDropdownMenu>
            </MDBDropdown>
          </div>
          <div className='container'>
            {renderHeader()}
            <div className='text-center'>
              <Form className='input-group mb-3' onSubmit={addFilter}>
                {' '}
                <input
                  type='text'
                  className='form-control text-center transparent-input'
                  placeholder='Unesite željenu lokaciju na području grada Sarajeva npr. Dobrinja'
                  aria-label='Unesite željenu lokaciju na području grada Sarajeva npr. Dobrinja'
                  aria-describedby='basic-addon2'
                  value={location}
                  onChange={onChangeLocation}
                />
                <div className='input-group-append'>
                  <button
                    className='btn btn-grad rounded'
                    onClick={submitNameFilter}
                  >
                    <i className='fas fa-search-location'></i>
                  </button>
                </div>
              </Form>
            </div>
            <div className='d-flex'>
              <div className='row row-cols-1 row-cols-md-3 custom-p'>
                {content.map(card)}
              </div>
              <div></div>
            </div>
          </div>
          <div className='mb-5 mt-5 text-center'>
            <Pagination
              totalPages={Math.ceil(total / 15)}
              onPageChange={(e, d) => {
                parsedUrl.set('page', d.activePage);
                const pushPageToURL = parsedUrl.toString();
                setPage(d.activePage);
                window.history.pushState(null, null, `?${pushPageToURL}`);
              }}
              activePage={page}
            />
          </div>
        </div>
      ) : (
        <div className='spinner-border text-primary text-center' role='status'>
          <span className='sr-only'>Loading...</span>
        </div>
      )}
    </div>
  );
};

export default Dashboard;

请注意,我使用的是引导程序。

【问题讨论】:

    标签: html css reactjs twitter-bootstrap bootstrap-4


    【解决方案1】:

    您必须使用fixed 位置,在引导程序中变为position-fixed || fixed-top.

    纯css示例:

    #icon {
      position: fixed;
      top: 0;
    }
    

    看看这个例子: https://getbootstrap.com/docs/4.0/examples/navbar-top-fixed/

    【讨论】:

    • 是的,这行得通,但不是我想要的。我将此下拉列表放在此容器之外。第一个问题是这个菜单在左边,而不是右边,而且它总是在卡片所在的容器内。现在,当我滚动时,我的图标和下拉菜单消失在卡片下方。有没有办法把它放在这个容器外面?
    • 你可以看到这张图片上的位置:prnt.sc/107kled 当我开始滚动时,请注意它是如何开始消失的:prnt.sc/107km9j
    • @Aldinho 在您的按钮上应用z-index: 1000
    猜你喜欢
    • 2023-02-06
    • 2023-02-01
    • 2022-06-13
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 2013-02-26
    相关资源
    最近更新 更多