我坚持要显示一个名为“home”的React组件,它占据屏幕高度的100%。 无论我使用CSS还是React内联样式,它都不起作用。
在下面的示例中, html ,正文和 #app 在CSS中设置为高度:100%。对于 .home 我使用了内联样式(但无论我使用CSS还是内联样式都是一样的):
问题似乎来自<div data-reactroot data-reactid='1'>
未设置高度:100%。
那么在React中显示完整高度组件的正确方法是什么?
欢迎任何帮助:)
答案 0 :(得分:27)
html, body, #app, #app>div {
height: 100%
}
这将确保所有链都为height: 100%
答案 1 :(得分:21)
这让我烦恼了好几天。最后我使用CSS属性选择器来解决它。
[data-reactroot]
{height: 100% !important; }
答案 2 :(得分:14)
你也可以这样做:
body > #root > div {
height: 100vh;
}
答案 3 :(得分:6)
虽然这可能不是理想的答案,但试试这个:
style={{top:'0', bottom:'0', left:'0', right:'0', position: 'absolute'}}
它保持大小附着在边框上,这不是你想要的,但会给你一些相同的效果。
答案 4 :(得分:5)
尝试<div style = {{height:"100vh"}}> </div>
答案 5 :(得分:5)
$model->original
始终最小全视角
答案 6 :(得分:2)
TableObject
这对我有用..
答案 7 :(得分:1)
将其添加到index.html
头中对我有用:
<style>
html, body, #app, #app>div { position: absolute; width: 100% !important; height: 100% !important; }
</style>
答案 8 :(得分:1)
我通过app.css中的CSS类来管理此问题
static NetworkManager.performPOST(urlString="bins/9asku", bodyParams=nil,
completionHandler=0x000000010a7cc650 MVVM
将其应用于render()方法中的根元素
ListRequest.fetchAllLists(completionHandler=0x000000010a7cf740
MVVM
或内联
ListPresenter.fetchAndShowList(self=0x0000600002779140) at
ListPresenter.swift:29:17
frame #14: 0x000000010a7c5551 MVVM
答案 9 :(得分:1)
在将侧面导航面板的高度显示为100%时,我遇到了同样的问题。
我要解决的步骤是:
在index.css文件中------
.html {
height: 100%;
}
.body {
height:100%;
}
在sidePanel.css中(这给了我一些问题):
.side-panel {
height: 100%;
position: fixed; <--- this is what made the difference and scaled to 100% correctly
}
为清楚起见,删除了其他属性,但我认为问题在于将嵌套容器中的高度缩放到100%,例如您尝试如何缩放嵌套容器中的高度。父类的高度将需要应用100%。 -我很好奇的是为什么要固定:位置会纠正刻度,如果没有刻度就会失败;这是我最终将通过更多实践学习的东西。
我已经使用React工作了一个星期,而且我是Web开发的新手,但是我想分享一个我发现的修复程序,该修复程序将高度缩放到100%。希望这对您或有类似问题的任何人有帮助。祝你好运!
答案 10 :(得分:0)
对于使用CRNA的项目,我使用它
在index.css
html, body, #root {
height: 100%;
}
然后在我的App.css中使用此
.App {
height: 100%;
}
,如果有一个eg-
,还将App中的div的高度设置为100%.MainGridContainer {
display: grid;
width: 100%;
height:100%;
grid-template-columns: 1fr 3fr;
grid-template-rows: 50px auto;
}
答案 11 :(得分:0)
尽管在这里使用React-元素布局完全是html / css功能。
此问题的根本原因在于CSS中height
属性的工作方式。当您使用高度的相对值(以%为单位)时-这意味着高度将相对于其父级进行设置。
因此,如果您拥有html > body > div#root > div.app
之类的结构-要使div.app
的高度为100%,其所有祖先的高度都应为100%。您可以使用下一个示例:
html {
height: 100%;
}
body {
height: 100%;
}
div#root {
height: 100%; /* remove this line to see div.app is no more 100% height */
background-color: indigo;
padding: 0 30px;
}
div.app {
height: 100%;
background-color: cornsilk;
}
<div id="root">
<div class="app"> I will be 100% height if my parents are </div>
</div>
很少参数:
!important
的使用-尽管有一段时间,此功能在大约95%的情况下很有用,但它表明html / css的结构较差。另外,这不是解决当前问题的方法。position: absolute
。属性positon
旨在更改元素相对于(自身位置-相对位置,视口-固定位置,最近的父母(其位置不是静态的-绝对位置))的呈现方式。尽管position: absolute; top: 0; right: 0; bottom: 0; left: 0;
仍然会产生相同的外观-它还会促使您将父项position
更改为非static
的状态-因此您需要保留2个元素。这还会导致父div折叠成一行(高度为0),并且内部为全屏。这使元素检查器感到困惑。答案 12 :(得分:0)
我一直遇到麻烦,直到我使用检查器并意识到react将所有内容放入id ='root'的div中,以允许100%的高度以及body和html对我有用。
答案 13 :(得分:0)
<div style={{ height: "100vh", background: "#2d405f" }}>
<Component 1 />
<Component 2 />
</div>
创建全屏且背景颜色为#2d405f的div
答案 14 :(得分:-1)
尝试使用!important高度。这可能是因为影响你的html身体的其他一些风格。
Controller code of Angular Js...
FactoryPBD.showPbdCostCompareData(data).success(
function(result) {
if(result != ""){
//doing my processing and working fine
}).error(function(result,status,message){
console.log("result" , result);
//getting undefined in all the above variable
});
Service code:
showPbdCostCompareData : function(filter) {
promise = $http({
url : 'pbd/showPbdCostCompareData?serachFilterJson='+JSON.stringify(filter),
method : "POST"
});
return promise;
}
Java Controller:-
@RequestMapping(value = "/showPbdCostCompareData", method = RequestMethod.POST)
public @ResponseBody ResponseEntity<String> showPbdCostCompareData(HttpServletRequest request,
@RequestParam String serachFilterJson) {
try {
if (null != serachFilterJson && !"".equalsIgnoreCase(serachFilterJson)) {
Gson gson = new Gson();
SearchCriteriaBean searchCriteriaObj = gson.fromJson(serachFilterJson, SearchCriteriaBean.class);
CnHeaderBean cnHeaderBean = pbdServiceImpl.getPbdCostCompareCnHeaderData(searchCriteriaObj); //getting the value from sevice
List<PbdCostCompareBean> pbdCostCompareList = null;
if (null != cnHeaderBean) {
if("F".equalsIgnoreCase(cnHeaderBean.getPbdType())){
searchCriteriaObj.setFromPartIscb(cnHeaderBean.getFromPartIscb());
searchCriteriaObj.setToPartIscb(cnHeaderBean.getToPartIscb());
pbdCostCompareList = pbdServiceImpl.getPbdCostComparisonData(searchCriteriaObj); //getting the value from sevice
}else{
return new ResponseEntity<String>("Incorrect PBD Type",HttpStatus.SERVICE_UNAVAILABLE);
}
} else {
return new ResponseEntity<String>(HttpStatus.SERVICE_UNAVAILABLE);
}
HashMap<Integer, Object> costCompareMap = new HashMap<Integer, Object>();
costCompareMap.put(1, cnHeaderBean);
costCompareMap.put(2, pbdCostCompareList);
costCompareMap.put(3, pbdServiceImpl.validateUserAccess(searchCriteriaObj, serviceUtility.getUserFromSession(request)));
String pbdDataJsonResponse = gson.toJson(costCompareMap);
return new ResponseEntity<String>(pbdDataJsonResponse, HttpStatus.OK);
} else {
return new ResponseEntity<String>(HttpStatus.SERVICE_UNAVAILABLE);
}
} catch (C2PCException e) {
return new ResponseEntity<String>(e.getMessage(),HttpStatus.SERVICE_UNAVAILABLE);
}
}
你也可以在VP中给出值,它会将高度设置为你提到的像for i in range(10):
if (i*i*i) % 3 == 1:
numbers.append(i*i*i)
print (numbers)
那样的端口像素,但这不是便携式的。