2016-07-31 42 views
2

我的角度2組件正在採取頁面的整個寬度。 當我限制組件寬度時,它的邊距被拉伸到全寬。 所以我不能把這個旁邊的其他組件。我怎樣才能限制組件的寬度? 我試過顯示:內聯,但沒有用。即使組件採取全寬度,沒有任何東西在這旁邊。如何解決angular 2組件佔用頁面全部寬度的問題?

import { Component } from '@angular/core'; 
import { Item } from './../item'; 
import { ItemComponent } from './ItemComponent'; 

@Component({ 
    selector: 'Item-Set', 
    directives: [ItemComponent], 
    template: '<div class="singleItem" *ngFor="let eachItem of itemList"><Item></Item></div>' 
}) 

export class ItemSet{ 
    itemList: Item[]; 
    constructor(){ 
    this.itemList=ItemList; 
    } 
} 

在樣式表

.singleItem{ 
    width:300px; 
} 
+0

我們怎麼樣幫助不看代碼? ....發佈重現問題的最小工作代碼片段。 – LGSon

+0

添加代碼。我剛開始使用angular2。 @LGSon –

+0

我們需要一個_working代碼片段_,這是一個呈現結果的東西,最好作爲一個堆棧片段,但一個小提琴也可以工作。 – LGSon

回答

5

您需要添加CSS設置寬度在正確的地方。在您的示例會是這樣的ItemSetstyles參數或Item

Plunker example

在貴ItemComponent:host選擇器(自):

@Component({ 
    selector: 'Item', 
    template: '<div>Item</div>', 
    styles: [':host {display: block; border: solid 1px red; width: 300px;}'] 
}) 
export class ItemComponent{} 

.singleItem作爲選擇父組件

@Component({ 
    selector: 'Item-Set', 
    directives: [ItemComponent], 
    styles: [` 
    .singleItem{width:300px;} 
    :host {display: block; border: solid 1px green;}` 
    ] 
    template: '<div class="singleItem" *ngFor="let eachItem of itemList"><Item></Item></div>' 
}) 
export class ItemSet{ 
    itemList = ['a', 'b', 'c', 'd']; 
})