【问题标题】:Angular: bootstrap carousel doesn't work when importing bootstrap.css from fileAngular:从文件导入 bootstrap.css 时,引导轮播不起作用
【发布时间】:2018-08-29 07:49:36
【问题描述】:

我有一个名为“image-slider”的简单组件。当我像这样从互联网导入 bootstrap.css <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.css" /> 轮播工作正常。

但是当我删除这一行并像这样从 image-slider.html 中的本地文件导入 bootstrap.css 时:

@Component({
selector: 'app-image-slider',
templateUrl: './image-slider.component.html',
styleUrls: ['../../../node_modules/bootstrap/dist/css/bootstrap.min.css']
})
export class ImageSliderComponent implements OnInit { ... }

滑块不工作,图像重叠显示:

文件路径正确。 Bootstrap 工作正常,因为当我添加简单的引导按钮 <button type="button" class="btn btn-primary btn-sm">Small button</button> 时,它会正确显示。

为什么轮播的行为如此奇怪?

image-slider.component.html:

   

 

<div class="container-fluid">
      <ngb-carousel *ngIf="images">
        <ng-template ngbSlide>
          <img [src]="images[0]" alt="Random first slide">
          <div class="carousel-caption">
            <h3>First slide label</h3>
            <p>Nulla vitae elit libero, a pharetra augue mollis interdum.</p>
          </div>
        </ng-template>
        <ng-template ngbSlide>
          <img [src]="images[1]" alt="Random second slide">
          <div class="carousel-caption">
            <h3>Second slide label</h3>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
          </div>
        </ng-template>
        <ng-template ngbSlide>
          <img [src]="images[2]" alt="Random third slide">
          <div class="carousel-caption">
            <h3>Third slide label</h3>
            <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur.</p>
          </div>
        </ng-template>
      </ngb-carousel>
    </div>
'

package.json 依赖:

 "dependencies": {
    "@angular/animations": "^6.0.3",
    "@angular/cdk": "^6.4.0",
    "@angular/common": "^6.0.3",
    "@angular/compiler": "^6.0.3",
    "@angular/core": "^6.1.4",
    "@angular/forms": "^6.0.3",
    "@angular/http": "^6.0.3",
    "@angular/material": "^6.4.0",
    "@angular/platform-browser": "^6.0.3",
    "@angular/platform-browser-dynamic": "^6.1.4",
    "@angular/router": "^6.0.3",
    "@ng-bootstrap/ng-bootstrap": "^3.1.0",
    "angular-bootstrap-md": "^6.2.2",
    "bootstrap": "^4.1.3",
    "bootstrap-loader": "^3.0.1",
    "chart.js": "^2.7.2",
    "core-js": "^2.5.4",
    "exports-loader": "^0.7.0",
    "imports-loader": "^0.8.0",
    "ng-bootstrap": "^1.6.3",
    "ngx-bootstrap": "^3.0.1",
    "postcss-loader": "^3.0.0",
    "rxjs": "^6.0.0",
    "util.js": "^0.0.0",
    "zone.js": "^0.8.26"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.6.8",
    "@angular/cli": "~6.0.8",
    "@angular/compiler-cli": "^6.0.3",
    "@angular/language-service": "^6.0.3",
    "@types/jasmine": "~2.8.6",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "~8.9.4",
    "codelyzer": "~4.2.1",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~1.7.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~2.0.0",
    "karma-jasmine": "~1.1.1",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.3.0",
    "ts-node": "~5.0.1",
    "tslint": "~5.9.1",
    "typescript": "~2.7.2"
  }

【问题讨论】:

  • 不要将其添加到组件的styleUrls,您应该将其添加到angular.json 中的styles 数组中(假设您使用的是angular CLI)

标签: angular carousel


【解决方案1】:
npm install --save bootstrap

然后像这样将引导程序添加到 angular.json 文件中

"styles": [
   "../node_modules/bootstrap/dist/css/bootstrap.min.css",
   "styles.css"
],

【讨论】:

    猜你喜欢
    • 2015-02-12
    • 2016-12-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2018-12-25
    • 1970-01-01
    相关资源
    最近更新 更多